我有一个风格的微调器。该样式仅包含微调器的背景。问题是,无论我使用哪个图像作为背景,旋转器的文本总是被推到左边。
这是XML中Spinner的声明 -
<Spinner
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/minus"
android:layout_width="wrap_content"
android:layout_below="@+id/female"
android:id="@+id/spin"
android:gravity="center"
android:background="@drawable/spin"
android:layout_marginTop="10dip">
</Spinner>
另外,我在android:gravity属性下收到一条警告,说明它是一个未知的XML属性。
我无法理解为什么会这样做。
由于
答案 0 :(得分:37)
继续我上面的评论......
以下代码修改the Hello Spinner tutorial application以显示水平居中的微调文本内容,如以下两个屏幕截图所示。
<强> RES /布局/ 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 HelloSpinner 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(android.R.layout.simple_spinner_dropdown_item);
adapter.setDropDownViewResource(R.layout.my_spinner_textview);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
//No other modification needed.
这有望提供足够的方向来解决问题。
答案 1 :(得分:6)
使用android:textAlignment =&#34; center&#34;微调器上的标签
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/state"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"/>
答案 2 :(得分:4)
在xml文件中添加重力......
<Spinner
android:gravity="center">
</Spinner>
或者在java代码中添加引力......
Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setGravity(17);
//17 = center
答案 3 :(得分:1)
我也有这个问题,接受的答案对我没用。
如果这也适用于您,请确保没有父布局会覆盖微调器项的重力。就我而言,我必须将整个Spinner的重力设置为正确。
答案 4 :(得分:0)
如果您想在使用自己的布局时看到下拉菜单中的复选框:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
mContext, R.array.room_list, R.layout.spinner_layout);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
yourSpinner.setAdapter(adapter);
请注意放在下拉视图资源的行中“R.layout ....”之前的“android”!