我在EditText
中有一个AlertDialog
,但底线颜色不是我想要的颜色,我不知道如何更改它。
这是我到目前为止所拥有的。
AlertDialog.Builder adb = new AlertDialog.Builder(new ContextThemeWrapper(MainActivity.this, R.style.EditTextAlertDialog));
adb.setTitle("Title");
inputET = new EditText(this);
inputET.setInputType(InputType.TYPE_CLASS_TEXT);
inputET.setTextColor(getResources().getColor(android.R.color.white));
inputET.setHighlightColor(getResources().getColor(android.R.color.white)); //This should change it, but it's not.
adb.setView(inputET);
adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
adb.show();
出于某些不可思议的原因,setHightlightColor
应该就是它。
答案 0 :(得分:0)
您可以为对话框创建样式。
<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorAccent">@color/yourEditTextColor</item>
</style>
然后在创建对话框时将其添加
AlertDialog.Builder adb = new AlertDialog.Builder(new ContextThemeWrapper(MainActivity.this, R.style.MyDialogTheme));
答案 1 :(得分:0)
您需要为此设置背景色:
inputET.setBackgroundTintList(ColorStateList.valueOf(intColorCode));
答案 2 :(得分:0)
在xml文件下,将其以这种方式放入ur EditText:app:backgroundTint="@color/black"
答案 3 :(得分:0)
您可以做一些不同的事情。
使用TextInputLayout
主题(默认)使用Filled Box定义布局,并应用 app:boxStrokeColor
属性以更改下划线的颜色。
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="?attr/dialogPreferredPadding"
android:paddingStart="?attr/dialogPreferredPadding"
android:paddingEnd="?attr/dialogPreferredPadding">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
app:boxStrokeColor="@color/my_favorite_color"
android:hint="Hint text">
<com.google.android.material.textfield.TextInputEditText
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.google.android.material.textfield.TextInputLayout>
</FrameLayout>
然后仅使用定义的布局构建AlertDialog
:
new MaterialAlertDialogBuilder(AlertDialogActivity.this)
.setTitle("Dialog")
.setMessage("Lorem ipsum dolor ....")
.setView(R.layout.custom_text_alert_dialog)
.setPositiveButton("Ok", /* listener = */ null)
.setNegativeButton("Cancel", /* listener = */ null)
.show();