我的应用中有一个切换小部件的自定义样式。 textOff和textOn都有文本。显示的文本在英语中很短,但遗憾的是很长甚至在其他语言中包含多个单词,因此不适合小部件。这会导致窗口小部件的可绘制区域被推出窗口小部件的可见区域,有时切换按钮本身也不适合。
(遗憾的是,由于缺乏声誉,我无法发布图片)
如果文本不再适合,我希望文本被包装。这可能吗?我试过singleLine =" false"以及ellipsize属性,两者都没有显示任何效果。
<Switch
style="@style/MarginedElement"
android:id="@+id/toggle_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableStart="@drawable/toggle_switch"
android:textOff="@string/textOff"
android:textOn="@string/textOn"
android:thumb="@drawable/click_style_switch_button_thumb"
android:track="@drawable/click_style_switch_button_bg"
android:background="@drawable/click_style_switch_bg"
android:switchTextAppearance="@style/switchText"
/>
知道我怎么能这样做吗?或者除了改变文本本身之外的替代解决方案。
编辑: 修正开关的宽度,设置singleLine =&#34; true&#34;和ellipsize =&#34;结束&#34;没有任何影响。
答案 0 :(得分:0)
你写过你试过singleLine="false"
,但这只会让它不是一字排列的。如果你想椭圆化,你应该设置:
android:ellipsize="end"
android:singleLine="true"
也可以使用Switch的layout_width
:现在填充父级,尝试设置所需的确切大小(如果有)。这样,小部件将始终具有您想要的大小,并且文本将进行椭圆化。
答案 1 :(得分:0)
如果需要进行椭圆化,请使用singleLine = true,然后使用ellipsize = end。您的自定义视图应具有固定宽度(按重量或固定dp)。如果您希望调整文本大小,则需要进行更多自定义。看看这个:https://stackoverflow.com/a/17782522