我想自定義我的警報對話框,但我似乎無法找到一種方法來更改文本消息和按鈕之間的分隔線。在Android中更改分隔線的顏色
我有這樣的習俗警告對話框主題在我的styles.xml:
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/maroon</item>
<item name="colorAccent">@color/primary</item>
</style>
這是警告對話框在我的活動:
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(ChefMenuActivity.this,R.style.AlertDialogCustom);
final EditText edittext = new EditText(getApplicationContext());
alertDialog.setMessage("Item name: " + menuList.get(position).getItemName() + "\n" + "Old quantity: " + menuList.get(position).getQty_left());
alertDialog.setTitle("Change item quantity");
edittext.setTextColor(Color.BLACK);
edittext.setHint("E.g.: 10");
edittext.setHintTextColor(Color.GRAY);
edittext.setInputType(InputType.TYPE_CLASS_NUMBER);
alertDialog.setView(edittext);
alertDialog.setPositiveButton("REMOVE", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Toast.makeText(getApplicationContext(), "Not impemented yet", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
alertDialog.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Toast.makeText(getApplicationContext(), "Not impemented yet", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
alertDialog.setNeutralButton("UPDATE", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Toast.makeText(getApplicationContext(), "Not impemented yet", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
alertDialog.show();
我發現了一段代碼來改變標題和消息之間的分隔符:
AlertDialog dialog = alertDialog.show();
int titleDividerId = getResources().getIdentifier("titleDivider", "id", "android");
View titleDivider = dialog.findViewById(titleDividerId);
if (titleDivider != null)
titleDivider.setBackgroundColor(Color.parseColor("#ff4444"));
但它不適用於我的情況,因爲我想t o更改消息和按鈕之間的分隔線(如下圖所示)。
它不是分隔線,而是編輯文本的背景 – RadekJ
使用'editText.getBackground().setColorFilter(color,PorterDuff.Mode.SRC_IN);'改變edittext下劃線的顏色。 – Satendra
非常感謝!我沒有意識到這是EditText的下劃線。它工作得很好! –