2016-06-16 21 views
2

私はAndroidアプリケーションを開発しています。スピナーアイテムのカスタムレイアウトを実装する必要があります。Androidのスピナーのカスタムレイアウト

Spinner example 私は「金の矢印と国境」を実装するために問題を抱えている:

は、私はこのようなスピナーを実現します。

これは私のコードです:

<Spinner 
    android:id="@+id/spinner_language" 
    android:layout_width="210dp" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:gravity="center_horizontal" 
    android:entries="@array/spinnerItems" 
    android:dropDownVerticalOffset="10dip" 
    android:dropDownHorizontalOffset="0dip"/> 

は、これは私のスピナーレイアウトです:

<CheckedTextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerDropDownItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textColor="@color/white" 
    android:background="@color/custom_black" 
    android:textSize="20dp" 
    android:paddingTop="10dp" 
    android:paddingBottom="10dp"/> 

私はそれを実現するにはどうすればよいですか?

答えて

1

私はこれがあなたを助けてくれることを願っています。

1)引き出し可能なフォルダ--->追加spinner_boスピナーの境界線のためのrder.xml。 ImageViewののSRC

 <RelativeLayout 
       android:layout_width="210dp" 
       android:layout_height="wrap_content"   
       android:background="@drawable/spinner_border" 
       android:layout_gravity="center_horizontal" 
       android:orientation="horizontal"> 

       <Spinner 
        android:id="@+id/spinner2" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:layout_gravity="center" 
        android:background="@android:color/transparent" 
        android:gravity="center_horizontal" 
        android:entries="@array/spinnerItems" 
        android:spinnerMode="dropdown" /> 

       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_centerVertical="true" 
        android:layout_gravity="center" 
        android:src="@drawable/arrow_icon" /> 

      </RelativeLayout> 

任意の更なるクエリは、そこにご連絡ください場合は、感謝のための "arrow_icon" このドロップダウンスピナー使用のレイアウト設計で

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="@android:color/black" /> 
    <corners android:radius="0dp" /> 
    <stroke 
     android:width="1dp" 
     android:color="#B4925A" /> 

2)...

+0

私は1つの問題がありますが、境界線はOKですが、ドロップダウンリストの要素はありません。私は各要素の背景を黒にしたい、今私は白い背景を参照して、どのように色を設定することができますか? – Mattia

+0

スピナーに追加する "android:popupBackground =" @アンドロイド:カラー/ブラック "" – Kush

+0

最後の質問:私はスピナーに矢印を挿入する必要があります。 あなたのコードは1つのイメージを追加しますが、スピナーには追加しません(イメージを見てください) – Mattia

0

これは、スピナーの項目のレイアウトです:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,your_spinner_item_layout, arrayList); 

drawableRight OFC前ロリポップデバイス用:)

:あなたは、たとえば、スピナーアダプタを作成しているときに

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="16sp" 
    android:textColor="#000000" 
    android:padding="5dip" 
    android:drawableRight="your_drawable" 
    android:drawableEnd="your_drawable"/> 

、あなたはそれを使用することができます

+0

私は理解しません私は "your_drawable"に挿入する必要があります – Mattia

+0

イメージの右側のテキスト/アイコン: – Skye

+0

オハイオ州申し訳ありませんが、私は誤解されました:) – Skye

関連する問題