Nep*_*eph 5 layout android padding spinner android-layout
我在相对布局中使用微调器和其他几个布局元素 (layout-v21):
<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"/>
Run Code Online (Sandbox Code Playgroud)
这将设置到父布局结束位置的距离:
android:layout_marginRight="0dp"
android:layout_alignParentEnd="true"
Run Code Online (Sandbox Code Playgroud)
这设置了微调器内的选择项与箭头左侧的接近程度(文本的右侧填充):
android:paddingRight="1dp"
Run Code Online (Sandbox Code Playgroud)
但是有没有办法摆脱(或至少缩小)箭头右侧但仍在微调布局元素内的不必要的空间/填充(这样我就可以在左侧使用更多空间而无需更改微调器的大小)?
这就是我要说的:
编辑:这是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">
Run Code Online (Sandbox Code Playgroud)
它对我有用:
<?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"/>
Run Code Online (Sandbox Code Playgroud)
样式.xml
<style name="spinner_style">
<item name="android:layout_height">35dp</item>
<item name="android:background">@drawable/spinner_bg</item>
</style>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)