4

私はこのように定義されているカスタムアンドロイドスイッチを持っています

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

そして、このような親指セレクターアイテム

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

Android バージョン 4.3、4.4.2 では、スイッチ スライダーが左右でこのようにカットされます。

ここに画像の説明を入力

形状とスイッチのパディング/マージン/サイズをいじってみましたが、これまでのところ何も機能していません。

また、適切なパディングを使用してカスタム トラックを設定しても機能しませんでした。

Android 5.0以降のバージョンでは、設定することで問題が解決しました

android:paddingLeft 
android:paddingRight

新しいバージョンでパディングが機能しないのはなぜですか? 何が欠けていますか?解決策のヒントは大歓迎です!

4

2 に答える 2

1

これが遅れていることは知っていますが、これは同じ問題を抱えている他の人のためのものです. 私にとっての解決策は、負のパディングを設定することでした。したがって、スイッチが右側でカットされている場合は、カットされているスイッチの量に応じて、右側のパディングを -5 または -10 などの負の数に設定します。

于 2016-11-04T00:31:19.497 に答える