在冰淇淋三明治中,引入了一个Switch Widget,它显示了On Off Slider.
我像这样添加了Switch:
<Switch
android:layout_width="fill_parent"
android:layout_height="48dp"
android:textStyle="bold"
android:thumb="@drawable/switch_thumb_selector"
android:track="@drawable/switch_bg_selector" />
Run Code Online (Sandbox Code Playgroud)
轨道和拇指绘图是九个补丁图像,可以扩展到所有可能的大小.我希望Switch可以扩展到给定边界内的最大大小,但似乎drawable只是在提供的空间内居中.
是否可以增加Switch的大小以使其看起来更大?
我不知道如何做#3和#1和#2,我尝试了下面的xml,但它不起作用:
<Switch
android:id="@+id/plug_switch"
android:layout_width="120dip"
android:layout_height="10dp"
android:maxHeight="10dp"
android:layout_below="@id/plug_graph_layout"
android:layout_centerHorizontal="true"
android:minWidth="100dp"
android:thumb="@drawable/plugs_button"
android:track="@drawable/btntoggle_selector"
android:textOn=""
android:textOff=""
android:width="120dip" />
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我#1,#2和#3.
谢谢
我想减小 Switch 的宽度。当前的解决方案如何更改 Switch Widget 的大小和如何更改 Android 的 Switch 轨道的宽度?没有解决我的问题。android:switchMinWidth刚刚定义了 minWidth,但我希望它小于2 x thumbWidthsize。
我深入研究了SwitchCompat班级的onMeasure()功能。宽度的定义方式如下。
// Adjust left and right padding to ensure there's enough room for the
// thumb's padding (when present).
int paddingLeft = padding.left;
int paddingRight = padding.right;
if (mThumbDrawable != null) {
final Rect inset = DrawableUtils.getOpticalBounds(mThumbDrawable);
paddingLeft = Math.max(paddingLeft, inset.left);
paddingRight = Math.max(paddingRight, inset.right);
}
final int switchWidth = Math.max(mSwitchMinWidth,
2 * mThumbWidth …Run Code Online (Sandbox Code Playgroud)