Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义对话框首选项&;文本视图颜色/主题_Android_Layout_Colors_Dialog_Textview - Fatal编程技术网

Android 自定义对话框首选项&;文本视图颜色/主题

Android 自定义对话框首选项&;文本视图颜色/主题,android,layout,colors,dialog,textview,Android,Layout,Colors,Dialog,Textview,我使用以下代码创建自定义对话框首选项: import android.content.Context; import android.preference.DialogPreference; import android.util.AttributeSet; public class DialogPref extends DialogPreference { public DialogPref(Context context, AttributeSet attrs) {

我使用以下代码创建自定义对话框首选项:

import android.content.Context;
import android.preference.DialogPreference;
import android.util.AttributeSet;

public class DialogPref extends DialogPreference {

    public DialogPref(Context context, AttributeSet attrs) {
        super(context, attrs);

        setDialogLayoutResource(R.layout.my_dialog);
    }
}
按照这种布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:padding="10dip"
        android:text="@string/dialog_text" />

</LinearLayout>


当我编译它时,它向我显示了一个有效的对话框,但是这个对话框上的文本视图在黑色背景下是黑色的。那么,如何使用对话框主题更改TextView颜色,而不是在布局中手动更改?Thanx

您可以定义一个常规主题,并将此主题设置为对话框,并将其传递给构造函数

  public DialogPref(Context context, AttributeSet attrs) {
    super(context, attrs,R.style.DialogTheme);

    setDialogLayoutResource(R.layout.my_layout);
}
如何定义主题:

当我在文本视图中添加“
android:textColor=“@android:color/white”
”时,我认为这不是有效的方法。有人能确认吗?检查这个答案-看起来你的问题可以用主题属性解决