【问题标题】:How to make the list of spinner items rounded? Not the spinner itself, but dropdown list如何使微调器项目列表四舍五入?不是微调器本身,而是下拉列表
【发布时间】:2020-12-03 15:23:49
【问题描述】:

我想在圆角矩形列表中显示微调器的项目,而不是默认矩形。我不是指微调器本身,而是单击箭头后的列表。有没有办法做到这一点?尝试制作 custom_rounded_layout 并将其附加到适配器更改了每个项目的布局,而不是列表本身。但是,我希望列表本身被四舍五入,而不是项目。现在该列表是默认列表。我想让列表的角有点圆润。提前致谢

【问题讨论】:

    标签: android xml spinner


    【解决方案1】:

    创建一个带有圆形背景文本视图的布局文件,如下所示:

    spinner_item.xml

    <?xml version="1.0" encoding="utf-8"?>
    
    
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="@dimen/size_40"
        android:background="@drawable/bg_round"
        android:gravity="center_vertical"
        android:id="@+id/ssdsd"
        android:layout_margin="16dp"
        android:padding="10dp"
        android:text="@string/app_name" />
    

    现在在微调器适配器中传递它

    Spinner spinner = findViewById(R.id.yourSpinner);
    spinner.setAdapter(new ArrayAdapter<String(this,R.layout.spinner_item,R.id.ssdsd,list));
    

    要更改弹出背景,请在 Spinner xml 代码中使用它:

    
            android:popupBackground="@drawable/bg_round"
    

    注意:您可能需要调整内边距和边距以使其看起来不错,这只是您如何做到这一点的一个想法。

    【讨论】:

    • 谢谢,但它不适用于列表本身。选择项目后,项目将显示在自定义设计的布局中。但是下拉列表还是一样的
    • 尝试替换这一行:spinner.setAdapter(new ArrayAdapter&lt;String(this,R.layout.spinner_item,R.id.ssdsd,list)); 用这个:spinner.setAdapter(new ArrayAdapter&lt;String(this,R.layout.spinner_item,list)); 看看它是否有效
    • 我试过了。该列表是默认列表。唯一的变化是当我选择项目时,项目在选择后出现在自定义文本视图中
    • 好的,你在文本视图中使用了圆形背景吗?这一行:android:background="@drawable/bg_round"如果是,这个drawable的背景色是什么,如果是白色或透明,试试把颜色改成黑色什么的
    • 。列表相同,但项目受到影响。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2018-10-06
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多