如何更改下拉菜单的文本大小和文本颜色?

14 浏览
0 Comments

如何更改下拉菜单的文本大小和文本颜色?

在我的Android应用程序中,我正在使用下拉列表(spinner),并且我已经从SQLite数据库加载了数据到下拉列表中,它正常工作。以下是相应的代码。

Spinner spinner = (Spinner) this.findViewById(R.id.spinner1);
List list = new ArrayList();
ArrayAdapter dataAdapter = new ArrayAdapter  (this,android.R.layout.simple_spinner_item, list);
cursor.moveToFirst();
list.add("所有列表");
if (cursor.getCount() > 0) {
    for (int i = 0; i < cursor.getCount(); i++) {
        keyList[i] = cursor.getString(cursor.getColumnIndex(AndroidOpenDbHelper.KEYWORD));
        list.add(keyList[i]);
        cursor.moveToNext();
    }
}
Database.close();
cursor.close();
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);

现在,我想要改变下拉列表数据的文本颜色和文本大小。我在XML文件中的下拉列表标签上使用了以下XML行,但没有起作用。

android:textColor="@android:color/white"
android:textSize="11dp"

如何改变我的下拉列表的文本颜色和文本大小?

0
0 Comments

问题的出现原因:用户想要改变spinner的文本大小和文本颜色,但不知道如何实现。

解决方法:

1. 创建一个自定义的XML文件来定义spinner的每个选项的样式。

2. 在spinner_item.xml文件中,为文本设置自定义的颜色和大小。

3. 在代码中使用这个文件来显示spinner的选项。

4. 可以使用ArrayAdapter来设置spinner的选项,并指定使用spinner_item.xml作为显示样式。

5. 如果想要改变选中项的文本颜色,可以在spinner_item.xml中设置android:textColor属性。

6. 如果想要改变下拉列表中文本的颜色,可以在代码中调用setDropDownViewResource方法,并传入下拉列表的样式文件。

7. 如果想要改变箭头的颜色,可以在spinner_item.xml中设置android:background属性为一个selector。

8. 注意,文本大小应该使用sp作为单位,而不是dp或dip。

9. 自定义的TextView可以放在layout文件夹中。

10. 如果想要在布局文件中改变TextView的字体,可以在styles.xml中定义样式,然后在布局文件中使用android:theme属性来引用这个样式。

11. 另外,可以从数组中获取spinner的选项,并使用ArrayAdapter.createFromResource方法来设置spinner的选项。

这是一个关于如何改变spinner文本大小和文本颜色的简单解决方法。通过创建自定义的XML文件来定义spinner的选项样式,并在代码中使用这个文件来显示spinner的选项,可以轻松地实现这个需求。同时,还可以通过设置下拉列表的样式文件来改变下拉列表中文本的颜色,以及通过设置TextView的样式来改变箭头的颜色。希望这个解决方法对你有帮助!

0
0 Comments

问题出现的原因:需要改变spinner的文本大小和文本颜色,但之前的代码导致了程序崩溃和空指针异常。

解决方法:根据以上内容,可以得出以下解决方法:

1. 在OnItemSelectedListener中使用以下代码来改变spinner的文本颜色和大小:

private OnItemSelectedListener OnCatSpinnerCL = new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView parent, View view, int pos, long id) {
       ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE);
       ((TextView) parent.getChildAt(0)).setTextSize(5);
    }
    public void onNothingSelected(AdapterView parent) {
    }
};

2. 如果出现空指针异常,可以添加以下代码来避免异常:

if (((TextView) parent.getChildAt(0)) != null) {                     
    ((TextView) parent.getChildAt(0)).setTextColor(Color.WHITE);                 
}

3. 如果在屏幕旋转后导致程序崩溃,可以尝试以下解决方法:

TextView tv = (TextView) view;  
tv.setTextColor(Color.BLUE);

4. 如果从一个片段返回时导致程序崩溃并出现空指针异常,可以使用以下代码来避免异常:

if (((TextView) parent.getChildAt(0)) != null) {                     
    ((TextView) parent.getChildAt(0)).setTextColor(Color.WHITE);                 
}

以上是关于如何改变spinner的文本大小和文本颜色的问题的原因和解决方法。

0
0 Comments

问题的原因是想要更改Spinner中文本的大小和颜色,但是尝试了一些方法却没有成功。

解决方法是使用自定义样式来更改Spinner下拉项的文本颜色。首先在res/values/styles.xml中定义样式,然后在res/values/colors.xml中定义颜色。最后,将这个解决方案应用到Appcompt主题中。如果想要更改Spinner收起时的文本颜色,还需要在样式中添加

需要注意的是,这些属性只在使用layout/simple_spinner_item作为项布局时才起作用。此外,要确保将样式指定为主题。

虽然有一些用户反馈这个方法不起作用,但是根据某些用户的建议,进行了一些修改后,成功解决了问题。

0