7

Android スピナーのテキストを右揃えにしようとしています。私はスタック オーバーフローを経験し、推奨される解決策を試しましたが、うまくいかないので、何が間違っていたのか少し混乱しています。エラーが原因で、レイアウトが正しく取得されていないように感じます。

私の activity.xml ファイル

<Spinner
android:id="@+id/spinnerStoreType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>

res\layout の下に、simple_spinner_item.xml というファイルを作成しました。

<?xml version="1.0" encoding="utf-8"?>

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="40sp"
    android:textColor="#FFFFFF"
    android:padding="10dip"
    android:gravity="right"
    />

最後に、私の活動では、これを次のように使用しています。

spinnerStoreType = (Spinner) findViewById(R.id.spinnerStoreType);
ArrayAdapter<CharSequence> adapter =    
ArrayAdapter.createFromResource(this,
R.array.transaction_store_array, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinnerStoreType.setAdapter(adapter);

したがって、使用されている simple_spinner_item はデフォルトのものであり、Android のものであると思います。カスタムのものを使用する方法がわかりません。同じ名前なら自動的にそうなると思った?

いつものようにどんな助けでも大歓迎です。

4

3 に答える 3

10

スタイルを使用してこれを完全に実現できます。そして、それが最善の方法だと思います。これが私のstyles.xmlのコードです-

    <style name="AppTheme.Spinner">
        <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
        <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
    </style>

    <style name="SpinnerItem">
        <item name="android:gravity">right|center_vertical</item>
        <item name="android:paddingRight">16dp</item>
    </style>

    <style name="SpinnerDropDownItem">
        <item name="android:gravity">right|center_vertical</item>
        <item name="android:paddingRight">16dp</item>
    </style>

そして、これがスピナーへの実装です-

       <Spinner
            android:id="@+id/type"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_below="@id/title"
            android:entries="@array/data"
            android:theme="@style/AppTheme.Spinner" />
于 2016-01-06T20:35:24.497 に答える