我想在android中证明我的TextSwitcher。但我没有得到任何解决方案。我添加了一个TextSwitcher,如下所示 -
<TextSwitcher
android:id="@+id/ts_place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/left_offset"/>
但是文字显示没有左右对齐,如下所示 -
斯塔克斯统治着北方,直到在红色背叛罗伯·斯塔克 Roose Bolton的婚礼。从那以后,一直是Boltons的统治者 北方的座位从Dreadfort转移到Winterfell。 Karstark,Manderly,Umber,Reed和Mormont是主要的附庸 那些宣誓效忠北方守望者的房子。
我想让这些文字左右对齐。
答案 0 :(得分:0)
创建一个ViewFactory并覆盖makeView函数,以便为文本切换器使用自己的自定义视图/ textview。您应该能够在该视图上设置属性。
TextSwitcher exampleTextSwitcher;
exampleTextSwitcher.setFactory(textSwitcherFactory);
private ViewSwitcher.ViewFactory textSwitcherFactory = new ViewSwitcher.ViewFactory()
{
@Override
public View makeView()
{
LayoutInflater inflater = LayoutInflater.from(context);
return inflater.inflate(R.layout.view_timer_textview, null);
}
};
view_timer_textview.xml
<TextView
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/test"
android:includeFontPadding="true"
android:textAlignment="center"
android:layout_gravity="center"
android:lines="1"
android:ellipsize="end"/>
答案 1 :(得分:0)
您也可以直接通过代码进行操作,例如:
TextSwitcher textSwitcher = findViewById(R.id.your_id_text_switcher);
textSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
tvSwitcher = new TextView(MainActivity.this);
tvSwitcher.setTextColor(getResources().getColor(R.color.textColor));
tvSwitcher.setTextSize(18);
//edit lines as follows
tvSwitcher.setTextAlignment(View.TEXT_ALIGNMENT_TEXT_START);
return tvSwitcher;
}
});