在没有自定义样式的Android Spinner中的项目之间添加更多空间?

我有一个Android应用程序,我正在写一个混凝土公司,将用于时钟进出。 我曾经用一些纺纱工来select工作场所和工作岗位,但是我担心纺纱工的物品太靠近了,而且员工很难select合适的物品。

我想给微调项目之间多一点空间,但不想经历所有制作自定义风格的麻烦,因为我真的希望微调看起来和行为完全一样,除了默认只需要多一点的填充就可以了,要做出自定义的样式还有很多工作要做。

有没有简单的改变,比如设置微调的一些属性? 我已经尝试将微调types设置为对话框,但它只是显示具有相同的间距量的列表,只是没有附加到微调控件。

  • 自定义微调器适配器simple_spinner_dropdown_item无法正确显示
  • 像使用appcompat v21的微调器一样调整TextView
  • 如何正确显示TextView下方的popup菜单,类似于Spinner?
  • Android - 删除Spinner下拉箭头
  • 微调onItemSelected调用错误(无用户操作)
  • 在android中设置视图文本在微调中心alignment
  • 更改微调器DropDown宽度
  • 在旋转器下降时捕获事件被解除
  • 我相信Pragnani的回答是正确的,但这是我实际上实现它的方式…

    在RES /布局中,创build一个只包含textview的XML布局,如下所示。 这个textview有我想要的自定义大小/填充。

    spinner_row.xml

    <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/cust_view" android:minWidth="246dp" android:layout_width="match_parent" android:layout_height="48dp" android:gravity="left|center_vertical" android:textColor="@android:color/black" android:textSize="20sp" android:paddingLeft="4dp" android:textIsSelectable="false"/> 

    然后在我将数据加载到微调器的活动中,当为我的微调器创build一个ArrayAdapter时,我将自定义的textview作为第二个parameter passing给ArrayAdapter构造函数。

     Spinner spinClockInWorkSite = (Spinner)findViewById(R.id.spinClockInWorkSite); ArrayAdapter spinClockInWorkSiteAdapter = new ArrayAdapter(this, R.layout.spinner_row, this.workSiteList); spinClockInWorkSite.setAdapter(spinClockInWorkSiteAdapter); 

    所以现在微调使用我在spinner_row.xml中为列表中的每个项目定义的自定义文本视图。

    这最终比我更喜欢玩这种风格。

    如果你想给予满意的空间,那么相反,如果所有这些XML和所有,你可以轻松地使用“简单_spinner_dropdown_item”在微调适配器。

    喜欢

     String [] dataList = new String[]{"Select","A","B","C","D","E"}; ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, dataList); spinner.setAdapter(dataAdapter); 

    它为我工作。

    试试这个,在这里你并没有改变微调器的样式,而是通过设置微调器项目的样式来为你的微调器项目添加额外的function。

     <style name="spinnerStyle" parent="@android:style/Widget.TextView.SpinnerItem"> <item name="android:padding">5sp</item> </style> 

    使用风格属性将风格应用到你的微调

      style="@style/spinnerStyle" 

    您可以使用填充,边距或layoutMargin来影响间距。

    将此(或类似)添加到您的微调器:

     android:padding="10sp"