【问题标题】:Custom style setDropDownViewResource Android Spinner自定义样式 setDropDownViewResource Android Spinner
【发布时间】:2011-06-26 16:25:31
【问题描述】:

下面是我当前的代码,它将我的 array_spinner 添加到我的适配器,然后将适配器添加到我的微调器。 问题:

1- 我不确定如何使用以下代码来设置下拉菜单的样式:areaspinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 以及如何应用自定义视图/文本视图?我需要在微调器下拉菜单中设置文本项的样式。

2- 我需要为此视图创建一个单独的 layout.xml 文件吗?

任何信息都会很棒。谢谢!

array_spinner=new String[4];
array_spinner[0]="Select";
array_spinner[1]="George Washington";
array_spinner[2]="Benjamin Franklin";
array_spinner[3]="Thomas Jefferson";

 //CREATE SPINNER
areaspinner = (Spinner) findViewById(R.id.areaspinner);

ArrayAdapter<String> adapter = 
    new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item,array_spinner);
areaspinner.setAdapter(adapter);

【问题讨论】:

    标签: java android xml


    【解决方案1】:
    1. 如果您的意图是实现下拉列表项的不同样式与微调器视图选定项样式相关,您必须将您的自定义布局 ID 提供给 setDropDownViewResource()。在您的布局中,您只需将TextView 声明为根元素,因为ArrayAdapter 需要它

    2. 是的,您需要在 res/layout 目录中为您声明的每个布局创建单独的 your_layout_name.xml 文件。

    【讨论】:

    • 这很有帮助!我终于通过创建一个名为 spinner_layout.xml 的新布局来实现它,然后添加了 adapter.setDropDownViewResource(R.layout.spinner_layout);再次感谢。
    【解决方案2】:

    这就是您在代码中使用 setDropDownViewResource() 的方式

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    areaspinner.setAdapter(adapter);
    

    当然有帮助。

    【讨论】:

      【解决方案3】:

      您不必使用 setDropDownViewResource(),您可以简单地提供自己的主题,并覆盖样式。在这里查看我的答案:Android Spinner - How to make dropdown view transparent?

      【讨论】:

        【解决方案4】:

        使用 TextView 作为根视图定义客户 spinner_layout.xml。 设置适配器布局时,使用如下代码:

        ArrayAdapter<String> adapter1 = new ArrayAdapter<>(getActivity(), R.layout.layout_spinner, days);
        

        adapter1.setDropDownViewResource(R.layout.layout_spinner);
        

        【讨论】:

          猜你喜欢
          • 2012-04-15
          • 2016-10-01
          • 2014-08-23
          • 1970-01-01
          • 1970-01-01
          • 2013-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多