Android DialogFragment文本颜色为白色而不是黑色

时间:2015-12-29 23:23:37

标签: android text dialog fragment

我正在使用自定义适配器创建一个简单的DialogFragment,但奇怪的是,当对话框显示时,文本显示为白色。

class MyDialog extends DialogFragment {

        ListView listView;

        @NonNull
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            ArrayAdapter<Service> adapter = new MyAdaper(getContext(), items);
            TextView title = new TextView(getContext());
            title.setText("Hello");
            title.setGravity(Gravity.CENTER);
            title.setTextSize(18);
            title.setTextColor(Color.BLACK);
            builder.setCustomTitle(title);
            builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            });
            return builder.create();
        }

在适配器中充气的布局xml非常简单,只有一个TextView(我没有指定任何颜色,但是当我使用TextView而不指定颜色时,我希望它是黑色的,因为我的应用程序的其余部分)

我尝试过使用

AlertDialog.Builder(getActivity(), R.style.MyTheme);

但即使我在MyThem中指定b black textColor,Dialog仍会显示白色文字

我错过了什么?

3 个答案:

答案 0 :(得分:1)

看看你可以为对话框创建样式。 例如:

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setStyle(DialogFragment.STYLE_NORMAL, R.style.cust_dialog);
  }

将其设置为onCreate

divideRoundAndPrintNumber

答案 1 :(得分:1)

<item name="android:textColorPrimary">@color/your desired color</item>

您的Alerts对话框样式的styles.xml文件中的这一行代码将有助于更改AlertDialogBox中消息正文的字体颜色。

答案 2 :(得分:0)

试试builder.setMessage(R.id.<yours id-name of TextView>); 但必须在XML代码中定义TextView的颜色。