2015-12-29 158 views
1

我使用自定義適配器創建了一個簡單的DialogFragment,但奇怪的是文本在對話框顯示時顯示爲白色。Android 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黑文字顏色對話框仍顯示有白色的文字試圖

我錯過了什麼?

+0

問題與ListView的項目嗎?他們在textview中有白色的顏色? – Silvestr

+0

是我的列表視圖的TextView的是與對話自定義樣式的白色 – Johny19

+0

使用自定義佈局,http://stackoverflow.com/questions/22655599/alertdialog-builder-with-custom-layout-and-edittext-cannot-access-view – R2R

回答

0

嘗試builder.setMessage(R.id.<yours id-name of TextView>); 但是必須在XML代碼中定義TextView的顏色。

+0

標題的那部分起作用,它看起來是黑色的。白色文本是從適配器充氣的XML文本 – Johny19

1

看你可以爲你的對話框創建樣式。 例如:

<style name="cust_dialog" parent="@android:style/Theme.Dialog"> 
    <item name="android:windowTitleStyle">@style/dialog_title_style</item> 
    </style> 

    <style name="dialog_title_style" parent="android:Widget.TextView"> 
    <item name="android:background">@android:color/holo_red_dark</item> 
    </style> 

比組建成的onCreate

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

如果在問題中不夠清楚,很抱歉。問題不在於標題,而在於對話框的內容(從適配器膨脹的部分)。儘管如此,我已經嘗試過定義它們,然後在創建Builder時進行設置。但文字仍然是白色的! (順便說一句,使用setStyle似乎並沒有做任何事情,但是新生成器(活動,他們)做,但不能管理改變血腥的文字顏色不是白色 – Johny19

相關問題