0

我为这个问题搜索了一整天,没有解决方法,我希望有一双新的眼睛来看看这个。我正在使用 Android 3.2 和主题 Holo.Light 与 ActionBar(重要)。

我的布局xml:

  <AutoCompleteTextView
            android:id="@+id/autocompleteSearchTxt"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="0.52"
            android:textSize="@dimen/text_size_normal"
            android:hint="@string/search"
            android:textColor="@android:color/primary_text_light"
            android:textCursorDrawable="@null" />

在 Android 清单文件中:android:theme="@style/Theme.Holo.Light.Workaround"

在themes.xml 文件中:

<style name="Theme.Holo.Light.Workaround" parent="@android:style/Theme.Holo.Light">
   <item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewLight</item>
    <item name="android:dropDownItemStyle">@style/Widget.DropDownItemLight</item>
</style>

在styles.xml 文件中:

  <style name="AutoCompleteTextViewLight" parent="@android:style/Widget.AutoCompleteTextView">
    <item name="android:textColor">@android:color/primary_text_light</item>
</style>
<style name="Widget.DropDownItemLight" parent="@android:style/Widget.DropDownItem">
    <item name="android:textColor">@android:color/primary_text_light</item>
</style>

现在在这里我尝试了我自己的颜色,红色,蓝色......会脱颖而出的颜色。

结果是……什么都没有。它没有任何改变,当我在自动完成中写入字符时,我可以看到它正在完成,但根本看不到下拉项文本颜色。它是透明的,或白底白字(在真实设备上)。

我无法理解我做错了什么。以前有人解决过这个问题吗?请任何线索都会很棒。还是非常感谢。

4

2 回答 2

1

可能有点晚了,但如果您仍然需要答案...

您如何设置阵列适配器?如果您正在使用:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,my_list_of_values);

然后,Android 提供的默认布局将覆盖您在 xml 中所做的任何事情。

相反,您为什么不尝试使用 textview 组件创建一个布局文件,然后在实例化您的ArrayAdapter?

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.your_textview_layout,my_list_of_values);
于 2012-07-29T10:02:01.997 回答
0
 private ArrayAdapter<String> autoCompleteAdapter = new ArrayAdapter<String>
                          (this,android.R.layout.simple_list_item_1, yourList){                     
    public View getView(int position, View convertView, ViewGroup parent) {
     View v = super.getView(position, convertView, parent);

    ((TextView) v).setTextSize(14);                             
     Typeface Type = getFont () ;  // custom method to get a font from "assets" folder
     ((TextView) v).setTypeface(Type);              
    ((TextView) v).setTextColor(YourColor);                                             
     ((TextView) v) .setGravity(Gravity.LEFT|Gravity.CENTER_VERTICAL);

        return v;
     }          
     };

    YourAutoCompleteView.setAdapter(autoCompleteAdapter);
于 2014-04-22T14:41:52.613 回答