【问题标题】:How can I set the Text colour for this spinner that I have?如何为我拥有的这个微调器设置文本颜色?
【发布时间】:2015-04-04 21:51:43
【问题描述】:
 <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/spinner_statements"
            android:background="@drawable/file"
            android:spinnerMode="dropdown"
            android:visibility="gone"
            android:layout_marginTop="15dp"
            android:touchscreenBlocksFocus="false" />

我想知道是否有任何地方可以指定我希望此微调器内的项目的文本颜色应为黑色。

java代码;

    final Spinner spinner= (Spinner)findViewById(R.id.spinner);
    String[] items = new String[]{"one", "two"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items);
    spinner.setAdapter(adapter);

【问题讨论】:

    标签: android xml spinner


    【解决方案1】:

    创建一个名为 spinner_layout.xml 的 xml,其中包含此代码

    <?xml version="1.0" encoding="utf-8"?>
    
    <TextView  
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent" 
          android:layout_height="wrap_content"
          android:textSize="20sp"
          android:gravity="left"  
          android:textColor="#FFFFF"         
          android:padding="5dip"
    />
    

    并将数组适配器修改为

    ArrayAdapter<String> adapter = new ArrayAdapter<String>  (this,R.layout.spinner_layout, items);
    

    【讨论】:

      【解决方案2】:

      最简单的方法是创建一个复制android.R.layout.simple_spinner_dropdown_item.xml 的布局文件并应用您想要的颜色。

      my_item.xml 如下所示。

      <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@android:id/text1"
      style="?android:attr/spinnerDropDownItemStyle"
      android:singleLine="true"
      android:layout_width="match_parent"
      android:layout_height="?android:attr/dropdownListPreferredItemHeight"
      android:textColor="@android:color/holo_purple"
      android:ellipsize="marquee"/>
      

      请参阅 android:textColor 添加的行。

      您的 java 代码现在更改如下。

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_item, items);
      

      如果您想为每个项目或某些规则设置不同的颜色,您必须创建自定义的Adapter,它继承自BaseAdapter 类。

      【讨论】:

      • 我在遵循您所说的内容时遇到了问题,并且出现了一些错误。不过感谢您的回答,这很有帮助:)
      猜你喜欢
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多