如何在自定义微调器项之间添加空格?

时间:2015-12-04 12:16:45

标签: android spinner android-spinner

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

目前看起来没有点击它(这很好):

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

3 个答案:

答案 0 :(得分:2)

自定义行布局:

<?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>

答案 1 :(得分:1)

您只需在文本视图中添加 lineSpacingExtra 属性。

示例:

<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"
        android:lineSpacingExtra="3dp/>

- &GT;的机器人:lineSpacingExtra =“3DP

答案 2 :(得分:0)

试试这种方式

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >


    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip"
        android:layout_marginBottom="10dip"
        android:layout_marginLeft="15dip"/>


    <TextView
        android:id="@+id/country"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dip"
        android:layout_marginBottom="10dip"
        android:layout_marginTop="10dip"
        android:textColor="#000000" />


</LinearLayout>