Android / Spinner: уберите отступ справа от стрелки - PullRequest
0 голосов
/ 08 мая 2018

Я использую счетчик в относительном макете с парой других элементов макета (layout-v21):

My spinner

<Spinner
android:id="@+id/spinner"
android:layout_width="155dp"
android:layout_height="34dp"
android:layout_alignBottom="@+id/textList"
android:layout_alignTop="@+id/textList"
android:layout_alignParentEnd="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="0dp"
android:layout_toEndOf="@+id/textList"
android:paddingRight="1dp"/>

Устанавливает расстояние до конца родительского макета:

android:layout_marginRight="0dp"
android:layout_alignParentEnd="true"

Устанавливает, насколько близко элементы выбора внутри счетчика могут располагаться слева от стрелки (правый отступ текста):

android:paddingRight="1dp"

Но есть ли способ избавиться (или, по крайней мере, уменьшить его) от ненужного пробела / отступа, который находится * вправо от стрелки, но все еще внутри элемента макета счетчика (так что я могу тогда использовать больше места слева без изменения размера счетчика)?

Вот о чем я говорю:

enter image description here

Редактировать: вот код для RelativeLayout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.mycompany.myapp.MainActivity"
android:backgroundTint="#000000"
android:focusableInTouchMode="true">

1 Ответ

0 голосов
/ 09 мая 2018

у меня работает:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:backgroundTint="#000000"
android:focusableInTouchMode="true">

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="155dp"
        android:layout_height="34dp"
        style="@style/spinner_style"
        android:layout_alignParentEnd="true"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="0dp"
        android:paddingRight="1dp"/>

styles.xml

 <style name="spinner_style">
        <item name="android:layout_height">35dp</item>
        <item name="android:background">@drawable/spinner_bg</item>
</style>

spinner_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape>
                    <gradient android:angle="90" android:endColor="@android:color/white" android:startColor="@android:color/white" android:type="linear" />

                    <stroke android:width="1dp" android:color="@color/colorAccent" />

                    <corners android:radius="0dp" />

                    <padding android:bottom="6dp" android:left="6dp" android:right="6dp" android:top="6dp" />
                </shape>
            </item>
            <item>
                <bitmap android:gravity="center|right" android:src="@drawable/ic_spin_down_arrow" />
            </item>
        </layer-list>
    </item>

</selector>
...