dei*_*mus 5 android android-xml android-switch
我有一个自定义的 android 开关,其定义如下
<Switch
android:id="@+id/create_site_switch_ssl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|left"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:checked="true"
android:gravity="center_vertical"
android:thumb="@drawable/btn_gradient" />
Run Code Online (Sandbox Code Playgroud)
和拇指选择器项目像这样
<item android:state_enabled="true" android:state_focused="false" android:state_pressed="false">
<shape android:shape="rectangle">
<gradient
android:startColor="@color/Blue100"
android:endColor="@color/Blue50"
android:angle="90"/>
<padding android:left="@dimen/button_padding"
android:top="@dimen/button_padding"
android:right="@dimen/button_padding"
android:bottom="@dimen/button_padding" />
<corners android:radius="@dimen/button_corner"/>
<stroke android:color="@color/BlueBorder" android:width="5dp"/>
</shape>
</item>
Run Code Online (Sandbox Code Playgroud)
在 Android 版本 4.3、4.4.2 上,开关滑块在右侧和左侧像这样被剪切。
我尝试使用形状和开关的填充/边距/大小,到目前为止没有任何效果。
此外,使用适当的填充设置自定义轨道也不起作用。
在Android 5.0及更高版本上,通过设置解决了问题
android:paddingLeft
android:paddingRight
Run Code Online (Sandbox Code Playgroud)
为什么填充对于更高版本不起作用?我缺少什么?欢迎任何有关解决方案的提示!
我遇到过同样的问题。从可绘制对象中删除填充属性为我解决了这个问题。在你的情况下,它看起来像这样:
<item android:state_enabled="true" android:state_focused="false" android:state_pressed="false">
<shape android:shape="rectangle">
<gradient
android:startColor="@color/Blue100"
android:endColor="@color/Blue50"
android:angle="90"/>
<corners android:radius="@dimen/button_corner"/>
<stroke android:color="@color/BlueBorder" android:width="5dp"/>
</shape>
</item>
Run Code Online (Sandbox Code Playgroud)
然后您可以将填充添加到开关:
<Switch
android:id="@+id/create_site_switch_ssl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|left"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:checked="true"
android:drawablePadding="@dimen/button_padding"
android:gravity="center_vertical"
android:thumb="@drawable/btn_gradient" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1946 次 |
| 最近记录: |