在我的XML文件中定义了一个微调器,如下所示:
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@drawable/spinnerbackground"
android:layout_marginLeft="96dp" />
正确加载背景,但表示所选项目的文本完全对齐到左侧。但是默认的微调器有一个从左侧偏移的文本少量。
有没有人知道我可以使用的代码或XML来复制抵消项目显示文本的效果?
答案 0 :(得分:2)
要根据文本样式制作自定义微调器背景,您可以使用我在其中一个项目中使用的代码。
在 string.xml 内写:
<string-array name="spinner_array_environtment">
<item>Test</item>
<item>Production</item>
</string-array>
在 MainActivity.java :
中public class MainActivity extends Activity {
Spinner spinner_environment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner_environment = (Spinner) findViewById(R.id.spinnerview);
adapter =ArrayAdapter.createFromResource(this, R.array.spinner_array_environtment,R.layout.spinner_phone);
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinner_environment.setAdapter(adapter);
}
在 spinner_phone.xml :
内<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinnerTarget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="13dp"
android:textColor="#4C4646" />
试一试。希望它会对你有所帮助。