我有一个Android应用程序我正在为一家混凝土公司写作,它将用于计时和输出。我已经使用了一些纺纱工人来选择工作地点和工作中的东西,但是我担心纺纱工具中的物品太靠近了,员工很难选择合适的物品。
我想在微调器中的项目之间留出更多的空间,但是不想经历制作自定义样式的所有麻烦,因为我真的希望微调器的外观和行为完全像默认情况下,除了只需要更多的填充,并且为此需要制作自定义样式需要做很多工作。
我可以进行任何简单的更改,例如设置微调器的某些属性吗?我已经尝试将微调器类型设置为Dialog,但它只显示具有相同间距的列表,只是没有附加到微调器控件。
答案 0 :(得分:25)
我相信Pragnani的答案是正确的,但这就是我实际实现它的方式......
- 在RES / layout中,创建了一个只包含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"/>
然后在我将数据加载到微调器的活动中,当我为微调器创建一个ArrayAdapter时,我将自定义textview作为第二个参数传递给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中为列表中的每个项目定义的自定义textview。
这最终使我的需求更直接,而不是玩风格。
答案 1 :(得分:15)
如果你想提供令人满意的间距,那么相反,如果所有这些XML和所有, 您可以轻松使用&#34; simple_spinner_dropdown_item&#34;在微调适配器。
喜欢
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);
它对我有用。
答案 2 :(得分:5)
试试这个, 在这里,您不是要更改微调器样式,而是通过设置微调器项的样式来为微调器项添加额外的功能。
<style name="spinnerStyle" parent="@android:style/Widget.TextView.SpinnerItem">
<item name="android:padding">5sp</item>
</style>
使用style attribue
将样式应用于您的微调器 style="@style/spinnerStyle"
答案 3 :(得分:1)
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,
ArrayList);
答案 4 :(得分:0)
除非您想要一个特定的间距,否则我会选择其中一种内置布局。
simple_spinner_item = No line space.
simple_spinner_dropdown_item = 1 line space.
simple_dropdown_item_1line = 1.5 line space.
这些和更多内容都可以在R.class中找到