2017-11-22 15 views
0

私はいくつかのソリューションを探して、それを完了しようとします。仕切りはまだ見えません。私はのstyles.xmlに私のテーマのスタイルを設定している各アイテムのスピナー間に仕切りを設定するにはどうすればいいですか?

:ここ

Spinner chooseDate = (Spinner) view.findViewById(R.id.chooseDate); 

String[] date_group = dateList.toArray(new String[dateList.size()]); 
      ArrayAdapter<String> itemDate = new ArrayAdapter<String>(getActivity(), R.layout.spinner, date_group); 
      itemDate.setDropDownViewResource(R.layout.spinner); 
      chooseDate.setAdapter(itemDate); 

次のとおりです。ここで

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Others theme here. --> 
    <item name="android:dropDownListViewStyle">@style/mySpinnerStyle</item> 
</style> 

は、スピナーのための私のフラグメント・コードここで

<style name="mySpinnerStyle" parent="android:Widget.ListView.DropDown"> 
    <item name="android:divider">#00ff00</item> 
    <item name="android:dividerHeight">1dp</item> 
</style> 

mySpinnerStyle

されています私のスピナーレイアウトxml:

<Spinner 
      android:theme="@style/mySpinnerStyle" 
      android:spinnerMode="dialog" 
      android:layout_gravity="center" 
      android:layout_marginLeft="8dp" 
      android:layout_marginRight="16dp" 
      android:id="@+id/chooseDate" 
      android:layout_width="match_parent" 
      android:layout_height="38dp" 
      android:background="@drawable/spinner_arrow" /> 

そしてR.layout.spinner XMLは、このようなものです:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:textSize="22dp" 
    android:theme="@style/mySpinnerStyle" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" 
    android:gravity="center" 
    android:paddingRight="40dp" 
    android:singleLine="true" /> 

私は...私のスピナーは最後には分周器ではありません。このようなダイアログが表示さ enter image description here

をクリックして、私が設定しています私のスピナーのためのスタイルが、私は仕切りを表示することはできません。どうしてか分かりません ?

ご協力いただければ幸いです。アドバイスをいただきありがとうございます。

マニフェスト私のAppThemeを使用します。

<application 
    android:allowBackup="true" 
    android:icon="@drawable/app_icon_512x512" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme" 
    android:name="android.support.multidex.MultiDexApplication"> 
+0

あなたはあなたのスピナーの背景を削除してみたのですか? – diegoveloper

+0

はい、動作しません。背景の設定は、スピナーの境界線を変更するだけです。 –

+0

あなたの活動がマニフェストファイルであなたの "AppTheme"を使用していますか? – diegoveloper

答えて

3

あなたTextView(R.layout.spinnerのXML)

からandroid:theme="@style/mySpinnerStyle"を削除し、あなたからこの値を変更spinner

android:spinnerMode="dialog" 

この値を使用し

android:spinnerMode="dropdown" 
+0

イェップ、覚えようとしていたこと。クールなバディnice대답+1 – UltimateDevil

+0

ありがとう。最終的にディバイダーが見せます。私の場合、スピナーのダイアログを設定することはできますか?スタイル設定 'android:Widget.ListView.DropDown'私はダイアログを見つけることができません。 –

2

これは

activity_main.xml

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/rl" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="10dp" 
    tools:context=".MainActivity" 
    android:background="#effbe4" 
    > 
    <Spinner 
     android:id="@+id/spinner" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
</RelativeLayout> 

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:padding="10dp" 
    android:background="@drawable/spinner_item_border" 
    /> 
、あなたを助けるかもしれません活動に

spinner_item_border.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="#ff2632"/> 
     </shape> 
    </item> 
    <item android:bottom="2dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="#d7ffa2"/> 
     </shape> 
    </item> 
</layer-list> 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Get reference of widgets from XML layout 
    Spinner spinner = (Spinner) findViewById(R.id.spinner); 

    // Initializing a String Array 
    String[] plants = new String[]{ 
      "Black birch", 
      "Bolean birch", 
      "Canoe birch", 
      "Cherry birch", 
      "European weeping birch" 
    }; 

    // Initializing an ArrayAdapter 
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
      this,R.layout.spinner_item,plants 
    ); 
    spinnerArrayAdapter.setDropDownViewResource(R.layout.spinner_item); 
    spinner.setAdapter(spinnerArrayAdapter); 
    } 
} 
+0

ありがとうございます。 spinner_item.xmlの背景を設定する別の方法です。私もそれを見つけることはありません!ありがとうございました。 –

+0

OKハッピーコーディング! – UltimateDevil

関連する問題