【问题标题】:Custom DialogPreference & TextView color/theme自定义 DialogPreference 和 TextView 颜色/主题
【发布时间】:2013-06-17 03:07:58
【问题描述】:

我使用以下代码创建自定义 DialogPreference:

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 在深色背景上是黑色的。那么,如何使用 Dialog 主题更改 TextView 颜色而不是在布局中手动更改?谢谢

【问题讨论】:

  • 虽然我将“android:textColor="@android:color/white"”添加到TextView,但我认为这不是有效的方式。谁能确认一下?
  • 检查这个答案stackoverflow.com/a/31858497/1317086 - 看起来你的问题可以使用主题属性解决

标签: android layout colors dialog textview


【解决方案1】:

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

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

    setDialogLayoutResource(R.layout.my_layout);
}

如何定义主题:Android Styles and Themes - Tutorial

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2015-10-04
    • 2017-11-29
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多