设置Theme.AppCompat.Light.NoActionBar时出现着色问题

时间:2015-03-15 10:31:05

标签: android listview android-styles

我的主要活动xml显示了2个按钮和1个EditText,另一个布局显示了listview。问题是我的按钮和listview文本是白色的。我不知道如何解决这个问题。

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->

    <item name="android:colorPrimary">#009688</item>
    <item name="colorPrimaryDark">#00796b</item>
    <item name="android:textColorPrimary">#FFF</item>
    <item name="android:textColorSecondary">#FFF</item>
</style>

activity_main.xml(设计视图)

enter image description here

你可以在这里看到,按钮不可见。但是,如果我将背景显示为黑色,那么

enter image description here

所以,我不想为每个元素提供背景知识,因为这不是一个好的解决方案。

列表活动的另一项活动:

enter image description here

在这里,同样的问题。

1 个答案:

答案 0 :(得分:0)

对于ListView,您可以覆盖Adapter的getView方法,然后在代码中设置TextView颜色。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), 
    android.R.layout.simple_list_item_1, myList) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = super.getView(position, convertView, parent);
    TextView text = (TextView) view.findViewById(android.R.id.text1);        
    text.setTextColor(Color.BLACK);        
    return view;
  }
};

并为您的按钮

Button btn = (Button)findViewById(R.id.btn);
btn.setTextColor(Color.BLACK);

或xml:

<Button android:id="@+id/mybtn" 
    android:text="text"  
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"  
    android:textColor="#000000" />  <-- set color here -->

或者,您可以尝试使用黑暗主题,例如

Theme.AppCompat.NoActionBar