Spinner VS popwindow

个人感觉spinner展示后的效果和popwindow极为相似,而且也可以通过BaseAdapter自定义界面,不过我现在更为倾向于Spinner,因为它下面有个spinnerMode是可以设置dialog的,也就是说可以弹框。下面直接上一个最简单的展示代码,至于自定义界面的BaseAdapter写listview的时候都写到要吐了。。。
    android:id="@+id/spiner"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:spinnerMode="dropdown"/>




Spinner spiner = (Spinner) findViewById(R.id.spiner);
spiner.setDropDownVerticalOffset(50);//设置垂直偏移量
spiner.setDropDownHorizontalOffset(0);//设置水平偏移量
spiner.setPopupBackgroundResource(R.color.colorPrimary);//设置下拉背景

final List mList = new ArrayList<>();
mList.add("中国");
mList.add("日本");
mList.add("美国");
mList.add("英国");
mList.add("德国");

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, mList);//默认样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//下拉样式
spiner.setAdapter(adapter);

spiner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView parent, View view, int position, long id) {
        Toast.makeText(MainActivity.this, mList.get(position), Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onNothingSelected(AdapterView parent) {

    }
});

你可能感兴趣的:(Android)