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

uyhoqukh  于 2023-08-01  发布在  Android
关注(0)|答案(4)|浏览(105)

我遵循了这个教程Android Widgets: Custom Spinner in Android,并制作了一个自定义的Spinner,它有一个图像和一个文本视图作为项目,但由于某些原因,项目之间没有空间。
目前它看起来像是当它没有点击(这是罚款):


的数据
当我点击它时,它看起来是这样的:



而默认的一个有足够的空间之间的项目:



这是微调器的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>


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

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


7ajki6be

7ajki6be1#

自定义行布局:

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

字符串

dtcbnfnu

dtcbnfnu2#

您只需要在textview中添加属性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/>

字符串
-->android:lineSpacingExtra=“3dp

6ovsh4lw

6ovsh4lw3#

试试这边

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

字符串

t3irkdon

t3irkdon4#

只需选择此布局simple_list_item_1

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data); //add this layout
spinner_state.setAdapter(adapter);

字符串
就这样享受你的编程…

相关问题