【问题标题】:How I can change the title of the spinner如何更改微调器的标题
【发布时间】:2014-01-22 11:43:41
【问题描述】:

如何更改微调器的标题(颜色、背景、文本大小...)。我看过一些帖子,但没有与我的应用相同的代码。

主类

public class cargarSpinner() {

      listaSpinner = new ArrayList<SpinnerInfo>();  
  listaSpinner = cargarListSpinner();

      SpinnerAdapter myAdapter = new SpinnerAdapter
            (this, 
                    android.R.layout.simple_spinner_item, 
                    listaSpinner);

      spinner.setPrompt("Title");
      spinner.setAdapter(myAdapter);
}

spinner_row.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fondoSpinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/spinner_naranja_gradiente"
android:orientation="horizontal" >

<ImageView
    android:id="@+id/imageSpinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

<TextView
    android:id="@+id/textSpinner"
    style="@style/SpinnerText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"/> 

【问题讨论】:

    标签: android spinner title


    【解决方案1】:

    在 XML 中使用这个:

    android:prompt="@string/spinner_title
    

    在java代码中:

    spinner.setPrompt("Title")
    

    【讨论】:

    【解决方案2】:

    您可以使用自定义微调器适配器创建自定义微调器布局,如下所示

    Spinner spinner = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.travelreasons, R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    

    你的layout.simple_spinner_item

    <TextView xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@android:id/text1"
        style="@style/spinnerItemStyle"
        android:singleLine="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee" />
    

    您的 layout.simple_spinner_dropdown_item

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

    对于样式,请根据您的要求添加自定义尺寸和高度。

    <style name="spinnerItemStyle" parent="android:Widget.TextView.SpinnerItem">
    
      </style>
    
      <style name="spinnerDropDownItemStyle" parent="android:TextAppearance.Widget.TextView.SpinnerItem">
    
      </style>
    

    Source

    【讨论】:

    • 我有一个自定义微调器。
    • 我有自定义项目。我只想要自定义标题。
    • 使用自定义样式,您可以为微调器创建自己的样式类型我在父级中使用默认值,您可以将样式设置为父级
    • 我想输入我的 spinneradapter 代码,但我不能,因为网络午餐出错了。你可以只放适合我的代码的自定义标题的代码吗?
    【解决方案3】:

    试试这个:

    Spannable wordtoSpan = new SpannableString("Title");
        wordtoSpan.setSpan(new ForegroundColorSpan(Color.WHITE), 0,
                wordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        wordtoSpan.setSpan(new BackgroundColorSpan(Color.RED), 0,
                wordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
    spinner.setPrompt(wordtoSpan);
    

    【讨论】:

    • 和背景颜色?
    【解决方案4】:

    使用 Java(代码):

    spinner.setPrompt("标题")

    来自 XML:

    android:prompt="@string/spinner_title

    为它设计样式

    请看link

    【讨论】:

    • 此属性现已弃用
    猜你喜欢
    • 2012-10-08
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2012-06-20
    相关资源
    最近更新 更多