경고 대화 상자를 사용자 정의하려고하는데 텍스트 메시지와 버튼 사이의 구분선을 변경하는 방법을 찾지 못하는 것 같습니다.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 메시지와 버튼 사이의 구분선을 변경하십시오 (아래 그림 참조).
디바이더가 아니라 편집 텍스트의 배경입니다. – RadekJ
edittext 밑줄 색을 변경하려면'editText.getBackground() .setColorFilter (color, PorterDuff.Mode.SRC_IN);'를 사용하십시오. – Satendra
대단히 감사합니다! 나는 그것이 EditText의 밑줄이라는 것을 깨닫지 못했다. 그것은 잘 작동합니다! –