如何集中我的文本切换器?我已经尝试过设置引力但它似乎没有用。
ts.setFactory(new ViewFactory() {
public View makeView() {
TextView t = new TextView(this);
t.setTypeface(tf);
t.setTextSize(20);
t.setTextColor(Color.WHITE);
t.setText("my text switcher");
t.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
return t;
}
});
答案 0 :(得分:2)
该代码没问题,您需要将父textSwitcher 宽度设置为fill_parent
使用XML格式
<TextSwitcher android:layout_width="fill_parent" ...
或代码
import android.widget.LinearLayout.LayoutParams;
//...
textSwitcher=...
textSwitcher.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
答案 1 :(得分:2)
如果您使用match_parent
或TextSwitcher大小的固定值,请执行以下操作。在.xml中:
<TextSwitcher
android:id="@+id/switcher"
android:layout_width="60dp"
android:layout_height="60dp"/>
在代码中:
import android.widget.FrameLayout.LayoutParams;
TextSwitcher mSwitcher = (TextSwitcher) findViewById(R.id.switcher);
mSwitcher.setFactory(new ViewFactory() {
@Override
public View makeView() {
TextView t = new TextView(MainActivity.this);
t.setGravity(Gravity.CENTER);
t.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return t;
}
});
将LayoutParams设置为MATCH_PARENT
以使TextSwitcher垂直居中非常重要。