问题一:

下拉框遮挡Spinner显示框

解决办法:

android:spinnerMode=”dropdown” 
该行代码就是设置下拉框弹出位置的属性,分为:dropdown(显示框下面显示)和dialog(下拉列表弹出形式)。 
有的手机即使这样设置后取到了一定的效果。但是会出现一种情况:下拉框遮挡住了Spinner的显示框,这是因为有一个属性: 
android:overlapAnchor=”false” 。 
这个属性默认是true。改为false即可。但是不知道为什么这个属性在代码提示中是没有的。所以记录下来。希望对自己和各位有帮助。

 问题二:

  下拉框的宽度 和Spinner显示框的宽度不一致

解决办法:

暂无,网上无解决办法

问题三:

下拉框右侧的下拉箭头  在展示下拉框时,无法变成上拉手回箭头,也无法替换

 解决办法:

 暂无  网上没有找到解决办法

问题四:

  spinner显示框的默认选择第一个选项,无法设置setHint();

 解决办法:

  暂无   也没发现有人找到解决办法

四种Android 自带的item使用样式

系统提供的样式如下

simple_spinner_dropdown_item(列表-间距较高比较好看)

simple_spinner_item(列表-间距紧凑不好看)

simple_list_item_checked(复选框-选中的有绿沟)

simple_list_item_single_choice (单选按钮)

 

综上所述: 如果对UI要求不严可以采用这个控件,否者还是自己写一个组合控件,替换掉它!

如果你不能用这个,又不想自己写组合控件,那就用这个吧,完美解决你的需求:

https://github.com/wolfking0608/nice-spinner

实例代码:

https://blog.csdn.net/duoduo_11011/article/details/78922804

源代码:

1.xml:

<?xml version="1.0" encoding="utf-8"?>                                                                                                                                 

Activity:

public class CityEnterAppointActivity extends BaseMVPActivity implements View.OnClickListener {    private static final String[] m = {"A型", "B型", "O型", "AB型", "其他"};    private RelativeLayout       mTitleLayout;    private ImageView            mBackImage;    private TextView             mTitleText;    private TextView             mMenuText;    private Spinner              mSpinner;    private ArrayAdapter adapter;    private TextView view;    @Override    protected AbstractPresenter getPresenter() {        return null;    }    @Override    protected int getLayoutId() {        return R.layout.page_activity_city_enter_appoint;    }    @Override    protected void initView(@Nullable Bundle savedInstanceState) {        mTitleLayout = (RelativeLayout) findViewById(R.id.title_layout);        mBackImage = (ImageView) findViewById(R.id.back_image);        mTitleText = (TextView) findViewById(R.id.title_text);        mMenuText = (TextView) findViewById(R.id.menu_text);        mSpinner = (Spinner) findViewById(R.id.spinner);        view = (TextView) findViewById(R.id.spinnerText);    }    @Override    protected void initTitle() {        updateTitleColor(mTitleText);        updateTitleLayoutColor(mTitleLayout);        mTitleText.setText("市入指派");        mMenuText.setVisibility(View.GONE);    }    @Override    protected void initData() {        adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, m);        //设置下拉列表的风格        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//simple_list_item_checked        //        int dp2px = Utils.dp2px(mContext, 40);        //        mSpinner.setDropDownVerticalOffset(dp2px); //这个是第二种方式,防止下拉框遮挡显示框的办法        //设置下拉选择框的背景        mSpinner.setPopupBackgroundDrawable(getResources().getDrawable(R.drawable.bg_txt_stroke_search));        //将adapter 添加到spinner中        mSpinner.setAdapter(adapter);        //添加事件Spinner事件监听        mSpinner.setOnItemSelectedListener(new SpinnerSelectedListener());    }    @Override    protected void initEvent() {        mBackImage.setOnClickListener(this);    }    @Override    public void onClick(View v) {        int id = v.getId();        if (id == R.id.back_image) {            finish();        }    }    //使用数组形式操作    class SpinnerSelectedListener implements AdapterView.OnItemSelectedListener {        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {            view.setText(m[arg2]);            String str = (String) mSpinner.getItemAtPosition(arg2);            ToastUtil.show(mContext, str);        }        public void onNothingSelected(AdapterView<?> arg0) {        }    }}

 效果图:

 

更多相关文章

  1. Android之模仿微信登陆界面(一)
  2. Android播放视频(一)
  3. 搭建android编程环境 Eclipse+jdk+SDK
  4. Android入门之TabHost,TabWidget
  5. Android(安卓)中自定义控件和属性(attr.xml,declare-styleable,T
  6. android中wifi属性的介绍以及连接到指定的wifi
  7. android路径动画学习笔记
  8. Android五大布局介绍&属性设置大全
  9. Android(安卓)自定义View--ProgressBar篇(三)

随机推荐

  1. Android的selector,背景选择器
  2. Android的Adapter用法理解
  3. android中的selector背景选择器
  4. android http协议添加Authorization认证
  5. Android(安卓)Gson的使用
  6. H5做的商城客户端,效果很不错
  7. android Adapter综合介绍
  8. versionCode与versionName的区别、应用、
  9. Google Android应用开发04 Android应用程
  10. Android开发资源完全汇总