android - 如何在自定义微调项目之间添加空间?

标签 android spinner android-spinner

我已按照本教程 Android Widgets: Custom Spinner in Android 进行操作并制作了一个自定义 Spinner,其中包含图像和 TextView 作为项目,但由于某种原因,项目之间没有空格。

目前,当未单击时,它看起来像这样(这很好):

Custom spinner not clicked

当我点击它时,它看起来像这样:

Custom Spinner clicked

虽然默认项之间有足够的空间:

Default spinner clicked

这是微调器的 xml 代码:

<Spinner
    android:id="@+id/languageSpinner"
    style="@android:style/Widget.Holo.Light.Spinner"
    android:layout_width="110dp"
    android:layout_height="40dp"
    android:layout_marginStart="30dp"
    android:prompt="@string/select"
    android:spinnerMode="dropdown"/>

这是自定义行布局的 xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/language"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:layout_gravity="center_vertical"
        android:textColor="@color/black"
        android:layout_marginStart="10dp"
        android:layout_marginBottom="2dp"/>
</LinearLayout>

有人知道我做错了什么吗?

编辑:经过一些建议后,添加了项目之间的空格,但在微调器中选择的项目无法正确看到,我附加了图像:

Custom spinner with padding 10 on the layout

最佳答案

自定义行布局:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <LinearLayout 
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp">
        <ImageView
            android:id="@+id/icon"
            android:layout_width="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/language"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:layout_gravity="center_vertical"
            android:textColor="@color/black"
            android:layout_marginStart="10dp"
            android:layout_marginBottom="2dp"/>
    </LinearLayout>
    </LinearLayout>

关于android - 如何在自定义微调项目之间添加空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34088235/

相关文章:

java - 值没有插入到 SQLite 数据库

android - 如何判断一个Android项目是否是使用Eclipse ADT制作的?

java - Spinner 无法与 Firestore 的 document.getId 配合良好

android-spinnerwheel - 可绘制的单个选项卡

Android相机Intent设置分辨率

java - 安卓应用架构 : How should the packages be formed?

swift - 在我看来,UIActivityIndi​​cator 显示在其他所有内容后面

android - 在文本字段上显示微调器而不是键盘

android - 如何在自定义 Spinner DropDownView 中指定选择事件?

android - 如何在 TextView 下方正确显示弹出菜单,类似于 Spinner?