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

标签 java android spinner android-spinner

我正在为一家混凝土公司编写一个 Android 应用程序,该应用程序将用于打卡上类和下类。我使用了一些微调器从下拉列表中选择工作地点和工作等内容,但我担心微调器中的项目过于靠近,员工难以选择正确的项目。

我想在微调器中的项目之间留出更多空间,但不想费力地制作自定义样式,因为我真的希望微调器的外观和行为完全像默认设置,只是多了一点内边距,而且要为此制作自定义样式需要做很多工作。

我可以进行任何简单的更改,例如设置微调器的某些属性吗?我尝试将微调器类型设置为对话框,但它只显示具有相同间距的列表,只是没有附加到微调器控件。

最佳答案

我相信 Pragnani 的回答是正确的,但这就是我实际实现的方式......

-在 RES/layout 中,创建了一个 XML 布局,其中只有一个 textview,如下所示。此 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"/>

然后在我将数据加载到微调器的 Activity 中,当我为微调器创建 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 。

这最终比玩这种风格更直接地满足我的需求。

关于java - 在没有自定义样式的情况下在 Android Spinner 中的项目之间添加更多空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15591768/

相关文章:

java - 将字符串粘贴到控制台行以供用户编辑?

java - Android Studio 0.3.1 Proguard 不混淆

android - CardView和其他 View 未显示在android studio布局编辑器中

android - 为什么我的进度对话框在 new intent start() 时不旋转?

java - 通过蓝牙将数据发送到 OBD-ii 设备时应用程序崩溃 (Android-Studio)

java - JFreeChart图表渲染问题

java - 如何在对话页面中创建弹出窗口?

android - MemoryLeakMonitor.jar 不存在! |华为手机

android - 微调器下拉动画

java - 使用微调器到转换器