在Android Studio中,我创建了一个Switch。 Switch设置了textOff
和textOn
属性,因此在选中Switch时,它看起来像这样:
正如您所看到的,文本对于Switch来说太大了。我在使用Holo Switch时从未遇到过这个问题,但我相信这是现在使用的Material设计风格。不管怎样,我需要为这个项目使用这种开关样式(或看起来像它的样式)。
以下是Switch的代码,它包含在垂直LinearLayout
中,作为其行上唯一的项目:
<Switch
android:id="@+id/switchIncludeOperator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="15dp"
android:checked="true"
android:showText="true"
android:textOff="@string/no"
android:textOn="@string/yes" />
我想放大开关,使其适合包含的文字。
我尝试设置android:thumbTextPadding
属性,这是我最好的猜测。但是,它没有做我想要的。例如,thumbTextPadding
的{{1}}如下所示:
我尝试了其他设置,例如10dp
和switchPadding
,但我还没有找到可行的解决方案。我甚至尝试将比例属性设置为drawablePadding
(无论是否减小文字大小):
如何展开圆圈以适合文字?
如果可能的话,我想避免手动创建一堆自定义绘图。
修改
增加2
属性实际上不会更改文本大小。它似乎增加了开关周围的空白区域:
textSize
位于textSize
:
2sp
位于textSize
:
答案 0 :(得分:1)
有一种方法可以让它没有任何可绘制的东西 - 你可以制作自己的风格,如:
<style name="SwitchTextAppearence">
<item name="android:textSize">5sp</item>
</style>
您希望在切换文本中添加任何参数,然后通过以下方式使用它:
android:switchTextAppearance="@style/SwitchTextAppearence"
您也可以使用以下代码在代码中执行此操作:
switch.setSwitchTextAppearance(getActivity(), R.style.SwitchTextAppearence);
如果您想使用文字扩展圆圈,可以轻松使用:
android:scaleX="@dimen/switchSize"
android:scaleY="@dimen/switchSize"
但是这会扩展你的开关的所有元素,包括文字。