API 14中引入的切换小部件默认使用holo主题进行样式设置.我想把它的风格略有不同,改变它的颜色和形状有点因为品牌的原因.怎么会这样呢?我知道它必须是可能的,因为我已经看到默认ICS和三星的touchwiz主题之间的区别

我假设我需要一些状态drawables,我在http://developer.android.com/reference/android/R.styleable.html中看到了一些样式,Switch_thumb和Switch_track看起来像我之后的样子.我只是不知道如何使用它们.
我正在使用ActionbarSherlock,如果这有所作为.当然,只有运行API v14或更高版本的设备才能使用交换机.
我对这个小问题感到很疯狂.我有一个'切换'表单小部件,但无论我尝试多少,我都不能让它更窄.即使我有一个字符而不是'ON'或'OFF',开关的大小也保持不变.'拇指'变小,但必须拖动与之前相同的距离.将'layout_width'更改为较小的值只会切断剩余的轨道.'minWidth'似乎什么也没做.
谁知道我怎么做到这一点?理想情况下,我只想要一个空的拇指,我会用拇指颜色代码知道哪个是哪个.
XML代码:
Run Code Online (Sandbox Code Playgroud)<Switch android:id="@+id/switch3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Switch" android:textOff=" " android:textOn=" " />
我开始说: 
但是我想要这样的东西:

我不知道如何做#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.
谢谢
我很难改变开关紧凑型拇指的文字大小.
这是我的布局:
<android.support.v7.widget.SwitchCompat
android:id="@+id/switch_compat2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:checked="true"
android:switchTextAppearance="@style/MyStyle"
android:text="SwitchCompat (SDK v7+)"
app:showText="true" />
Run Code Online (Sandbox Code Playgroud)
和风格:
<style name="MyStyle">
<item name="android:textColor">#229922</item>
<item name="android:textSize">10sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然而,无论我在"MyStyle"上做什么,开关总是如下所示:
理想情况下,我希望它看起来像这样:
任何人都愿意分享他们的drawables我可以尝试匹配上面的图像?
我正在调查这些线程但没有正确匹配.它让它看起来更糟.
谢谢!
我想减小 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) 在Lollipop之前的Android版本中,有没有办法让开关的拇指高度大于轨道高度?
我本质上是试图在Kitkat中创建一个类似材料设计的开关小部件(和旧版本一样 - 这里的问题是默认情况下拇指'适合'在轨道内).我已经在这方面工作了很长一段时间,但我似乎无法达到正确的设计.
我按照这个SO帖子上的解决方案:如何更改Switch Widget的大小.
任何建议或解决方案将是最受欢迎的.
这是我在xml中的开关:
<Switch
android:id="@+id/mySwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:textOff="OFF"
android:textOn="ON" />
Run Code Online (Sandbox Code Playgroud)
我无法找到一个属性<switch>来使交换机变大,到目前为止我尝试过:
android-textSize,控制位于开关旁边的描述尺寸,而不是开关ON/OFF本身
android:switchMinWidth,控制每个开关组件的宽度(ON/OFF)
我只是希望我的开关更大,文本ON和OFF也会使开关变大.
我错过了一处房产吗?
平板电脑上的开关高度看起来很小.有办法,我们可以增加高度吗?如果我们通过给layout_height赋值来增加它,它只是在底部添加一些空格,但是开关大小不会增加.