我有一个Android应用程序,我正在为一个具体的公司编写,将用于打卡和退出。我已经使用一些微调工具从下拉菜单中选择了工作站点和工作,但我担心微调工具中的项目太近,员工很难选择正确的项目。
我想在微调器中的项目之间留出更多的空间,但不想麻烦地创建自定义样式,因为我真的希望微调器的外观和行为与默认值完全相同,只是多了一点填充,而且只为此而必须创建自定义样式需要做大量的工作。
有什么简单的改变我可以做的,比如设置微调器的一些属性?我尝试将微调器类型设置为Dialog,但它只显示具有相同间距的列表,只是没有附加到微调器控件。
发布于 2013-03-29 01:48:52
我相信Pragnani的答案是正确的,但这就是我实际实现它的方式……
XML / layout创建了一个-In布局,其中只包含一个文本视图,如下所示。此文本视图具有我想要的自定义大小/填充。
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时,我将自定义文本视图作为第二个参数传递给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中为列表中的每一项定义的自定义文本视图。
这最终更直接地满足了我的需求,而不是玩弄风格。
发布于 2015-04-23 14:11:05
如果您想要提供令人满意间距,那么如果所有这些XML都是,那么您可以很容易地在微调适配器中使用"simple_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);
这对我很管用。
发布于 2019-02-05 10:17:46
除非你想要一个非常具体的间距,否则我会选择一个内置的布局。
simple_spinner_item = No line space.
simple_spinner_dropdown_item = 1 line space.
simple_dropdown_item_1line = 1.5 line space.
这些和更多内容可以在R.class中找到
https://stackoverflow.com/questions/15591768
复制相似问题