当前位置:操作系统 > 安卓/Android >>

spinner自定义,效果如腾讯QQ账号选择时候的下拉列表

 下拉列表在android中自带spinner的有时候不太适合我们的界面,我们希望有自己的一种显示方法,那怎么办?自定义Spinner.效果如QQ账
号选择一样。如图所以。
 
这种效果,如果你喜欢,你可以往下接着看。
这里我们使用listView配合TextView实现的。
1 布局文件                                                     
activity_main.xml
[java]  
<?xml version="1.0" encoding="UTF-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+id/main"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent" >  
  
    <RelativeLayout  
        android:layout_width="fill_parent"  
        android:layout_height="50dp"  
        android:gravity="clip_vertical" >  
  
        <LinearLayout  
            android:id="@+id/spinnerid"  
            android:layout_width="fill_parent"  
            android:layout_height="50dp"  
            android:layout_marginLeft="30dp"  
            android:layout_marginRight="30dp"  
            android:layout_marginTop="10dp"  
            android:background="@drawable/preference_single_item"  
            android:gravity="right" >  
  
            <TextView  
                android:id="@+id/textView2"  
                android:layout_width="wrap_content"  
                android:layout_height="match_parent"  
                android:gravity="center"  
                android:text="1234"  
                android:textAppearance="?android:attr/textAppearanceLarge" />  
  
            <TextView  
                android:id="@+id/textView1"  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_weight="1"  
                android:textAppearance="?android:attr/textAppearanceLarge" />  
  
            <ImageView  
                android:id="@+id/imageView1"  
                android:layout_width="wrap_content"  
                android:layout_height="match_parent"  
                android:src="@drawable/mm_submenu_dropdown" />  
  
        </LinearLayout>  
    </RelativeLayout>  
  
</LinearLayout>  
 
myspinner_dropdown.xml这里面只有一个listView
[java] 
<?xml version="1.0" encoding="UTF-8"?>  
<LinearLayout   
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:orientation="vertical"  
     xmlns:android="http://schemas.android.com/apk/res/android">  
    <ListView   
        android:id="@+id/listView"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
        android:divider="@null"  
        android:dividerHeight="1px"></ListView>  
</LinearLayout>  
myspinner_dropdown_item.xml这里就是每个item布局
[java]  
<?xml version="1.0" encoding="UTF-8"?>  
<LinearLayout   
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
     xmlns:android="http://schemas.android.com/apk/res/android">  
     <RelativeLayout  
         android:id="@+id/myspinner_dropdown_layout"  
         android:layout_width="fill_parent"  
         android:layout_height="35dp"  
         android:background="@drawable/preference_item"  
         android:gravity="left|center" >  
         <TextView  
             android:id="@+id/myspinner_dropdown_txt"  
             android:layout_width="wrap_content"  
             android:layout_height="wrap_content"  
             android:layout_alignParentLeft="true"  
             android:layout_centerVertical="true"  
             android:text="TextView"  
             android:textSize="20sp" />  
    </RelativeLayout>  
</LinearLayout>  
2程序代码实现                                                                         
 
MyspinnerA
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,