1

次のように、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 を知っている人はいますか?

4

1 に答える 1

2

テキストスタイルに応じてカスタムスピナーの背景を作成するには、私のプロジェクトの 1 つで使用したコードを使用できます。

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" />

これを試してください。それがあなたを助けることを願っています。

于 2012-10-16T06:36:31.730 に答える