Spinner基本用法汇总2

Android AUmaWSsSoi 2个月前 (05-01) 51次浏览 0个评论
文章目录[隐藏]

背景:

上一篇写了Spinner的基本用法,一般情况下,对于Spinner,也不会有复杂的使用场景,不过最近碰到的交互稿上面的效果看起来,对于Spinner还是得特殊处理下,不然满足不了产品的要求。

这里是把Spinner当做了一个TextView来使用,需要的是弹出一个PopWindow的浮窗效果。当然可以用popWindow实现,我们选择用Spinner自带的浮窗效果来实现。

解决办法:

把Spinner当做TextView来用,需要设置Spinner的android:background=”@null”,最好也将padding都置为0。

spinner.post(new Runnable() {
    @Override
    public void run() {
        spinner.setPadding(0,0,0,0);
    }
});

还是得为Spinner设置setOnItemSelectedListener,跟上一篇的相关代码类似。

xml布局内容:

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:drawableRight="@drawable/ic_expand_more_black_24dp"
        android:text="" />

    <Spinner
        android:id="@+id/category_spinner"
        android:layout_width="60dp"
        android:layout_height="20dp"
        android:background="@null" />
</FrameLayout>
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    textView.setText(categories.get(position));
}

使用了一个TextView显示文本内容,用来代替Spinner的文本展示。

总结:

调用Spinner的其他Api,修改Spinner的样式效果,达到满足产品的需要。

下载地址:

上一篇文章的代码下载地址 链接:https://pan.baidu.com/s/18ULJwWfRTrvM_NGG9lrkUQ 密码:npzs


java问与答 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:http://javaexception.com/archives/79
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址