我为Android微调器编写了这段代码:
<Spinner
android:id="@+id/lstCommunity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/community_string"
android:layout_alignLeft="@+id/txtName"
android:layout_below="@+id/txtName"
android:minHeight="0dp"
android:textSize="10sp"
android:background="@drawable/box" />
但是,在选择列表中的另一个项目后,微调器中的文本会更改高度和宽度。
所以,最初它比旋转器的高度和宽度略小,在选择另一个项目后,它变得比旋转器尺寸大。
我该如何更改我的代码?
第一次编辑: 我正在尝试使用微调器从列表中选择一些文本。
(我无法发布图片)
文本最初适合微调器,但在下拉菜单中选择另一个选项后,文本变得大于微调框。
编辑2: 与微调器相关的Java代码:
Spinner mySpinner = (Spinner) findViewById(R.id.lstCommunity);
ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(this, R.array.array1, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(adapter);
答案 0 :(得分:1)
1)在res / layout
中创建spinnertext.xml例如:
xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/. apk/res/android"
android:text="@+id/TextView01"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textColor="#FFFFFFFF"
android:gravity="center"/>
2)在文件main.xml(res \ layout)中声明微调器,以管理其大小:
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="32dip"
android:drawSelectorOnTop="true"
android:prompt="@string/spinner_prompt"
/>
3)在活动中声明微调器
Spinner s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.sensors, R.layout.spinnertext);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
//when an item is selected call the selectSensor method
s.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView parent, View view, int position, long id) {
selectSensor(parent.getItemAtPosition(position));
}
@Override
public void onNothingSelected(AdapterView arg0) {
}
});
注意createfromresource函数的更改。
来源:http://android2ee.blogspot.it/2011/11/spinner-managing-size-and-text.html
答案 1 :(得分:0)
我遇到了同样的问题。似乎有一个简单的解决方案,尝试获得旋转器中最长的选项。注意它的大小和硬编码值,如
<spinner
android:layout_width="120dp"
android:layout_height="40dp"
android:id="@+id/spinner"/>
注意:120dp和40dp仅用于示例,需要根据您的示例进行调整