Android开发之自定义Spinner

自定义Spinner,需要定制的有默认背景、按下背景,显示时每一项的样式以及弹出时每一项的样式四个方面。下面举个简单例子。


1、准备两张图片,处理为.9png,分别为spinner.9.png和spinner_press.9.png,作为背景,如下图所示

spinner.9.png

spinner_press.9.png

2、在drawable中定义spinner_selector.xml,定义两种状态分别对应上面两种颜色



      
       

3、定义一个style,也可以直接放在布局中,我为了复用拿出来单独定义了



4、在布局的Spinner中引用上述style



    

5、每一项的样式 simple_spinner_item.xml



6、弹出时的每一项显示布局 my_drop_down_item.xml




7、定义一个字符数组,作为数据显示


   美女1
   美女2
   美女3
   美女4
   美女5
   美女6
   美女7

8、Activity

public class MainActivity extends AppCompatActivity {

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


        Spinner spinner = (Spinner) findViewById(R.id.field_item_spinner_content);

        //资源转[]
        String meinv[] = getResources().getStringArray(R.array.meinv);

        //构造ArrayAdapter
        ArrayAdapter adapter = new ArrayAdapter(this,
                R.layout.simple_spinner_item, meinv);
        //设置下拉样式以后显示的样式
        adapter.setDropDownViewResource(R.layout.my_drop_down_item);

        spinner.setAdapter(adapter);
    }
}

9、测试效果

Android开发之自定义Spinner_第1张图片
自定义Spinner.gif

你可能感兴趣的:(Android开发之自定义Spinner)