1

在此处输入图像描述

在这个应用程序中,我想将 Spinner 的项目居中。我试过android:gravity="center"了,但它不起作用?我必须在微调器上添加小图像。我是怎么做到的。请指导我。

res/layout spinner_layout.xml中

       <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"`
             android:layout_width="fill_parent"
             android:layout_height="match_parent">`
      <Spinner
               android:id="@+id/spinner1"
               android:layout_width="fill_parent"
           android:layout_height="55dp" 
               android:prompt="@string/spinner_promt"
              style="@style/spinnerStyleView"
        />
        </LinearLayout>

风格**style.xml**

        <style name="spinnerStyleView">
              <item name="android:background"> @drawable/notetvbg</item>
              <item name="android:textColor">@android:color/darker_gray</item>
           </style>`
4

2 回答 2

2

只需更改您的微调器样式,如下所示:

 <style name="spinnerStyleView"  parent="@android:style/Widget.TextView.SpinnerItem">
        <item name="android:background"> @drawable/notetvbg</item>
          <item name="android:textColor">@android:color/darker_gray</item>
    </style>

还可以查看轻松创建默认自定义样式的微调器,它精美地解释了微调器样式。

在中心制作微调器项目

以下代码修改了 Hello Spinner 教程应用程序,以水平居中显示微调器文本内容,如以下两个屏幕截图所示。

res/layout/my_spinner_textview.xml

     <?xml version="1.0" encoding="utf-8"?>
      <TextView
         xmlns:android="http://schemas.android.com/apk/res/android"
          style="?android:attr/spinnerItemStyle"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:gravity="center" />

主要活动

     public class MainActivity extends Activity
     {
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);

          Spinner spinner = (Spinner) findViewById(R.id.spinner);
          ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array,
       //android.R.layout.simple_spinner_item);
        R.layout.my_spinner_textview);
        adapter.setDropDownViewResource(R.layout.my_spinner_textview);
       spinner.setAdapter(adapter);
      spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
    }

于 2013-03-15T10:28:54.893 回答
2

使用此代码制作样式微调器..

可绘制/slim_spinner_normal.9.png

在此处输入图像描述

drawable/slim_spinner_pressed.9.png

在此处输入图像描述

可绘制/spinner_back.xml

<?xml version="1.0" encoding="utf-8"?>
        <selector xmlns:android="http://schemas.android.com/apk/res/android">
             <item android:state_pressed="true"
                   android:drawable="@drawable/slim_spinner_pressed" />
             <item android:drawable="@drawable/slim_spinner_normal" />
        </selector>

布局/main.xml

<RelativeLayout
    android:id="@+id/RL_TAG_FRAME"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <Spinner
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/spinner_back.xml" />

</RelativeLayout>

额外的皮肤

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

于 2013-03-15T10:27:36.230 回答