如何在android中设置样式的重力?
我有一个水平线性布局的文本视图,文本视图是顶部对齐的。我希望它垂直对齐 我已将textview设置为名为“箭头”的样式 然而,这仍然不能使它垂直对齐 有人知道这是怎么回事吗如何在android中设置样式的重力?,android,textview,android-linearlayout,Android,Textview,Android Linearlayout,我有一个水平线性布局的文本视图,文本视图是顶部对齐的。我希望它垂直对齐 我已将textview设置为名为“箭头”的样式 然而,这仍然不能使它垂直对齐 有人知道这是怎么回事吗 谢谢您也可以尝试在文本视图上使用SetGravity 用于setTextAppearance()的javadocs状态: 从中设置文本颜色、大小、样式、提示颜色和高亮显示颜色 指定的TextAppearance资源 不包括任何关于位置或重力的信息。我猜这就是为什么你的重力没有任何影响 试着这样做: //for android
谢谢您也可以尝试在文本视图上使用
SetGravity
用于setTextAppearance()
的javadocs状态:
从中设置文本颜色、大小、样式、提示颜色和高亮显示颜色
指定的TextAppearance资源
不包括任何关于位置或重力的信息。我猜这就是为什么你的重力没有任何影响
试着这样做:
//for android:gravity
arrow.setGravity(Gravity.CENTER);
//for android:layout_gravity
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.gravity=Gravity.CENTER;
arrow.setLayoutParams(params);
也就是说,由于您的
TextView
是宽度和高度WRAP\u内容
,android:gravity
不会有任何影响。因此,真正的android:layout\u gravity
代码块应该是您所需要的全部。在包含文本视图的布局xml文件中发布代码,我使用java代码创建它。我把它贴在上面了。
LinearLayout LL = new LinearLayout(this);
LL.setOrientation(LinearLayout.HORIZONTAL);
LL.setPadding(15, 15, 15, 15);
LinearLayout.LayoutParams courseMargin = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
courseMargin.setMargins(5, 5, 5, 5);
LL.setLayoutParams(courseMargin);
// here I add more things into LL...
TextView arrow = new TextView(this);
arrow.setText(">");
arrow.setTextAppearance(this, R.style.arrow);
LL.addView(arrow);
//for android:gravity
arrow.setGravity(Gravity.CENTER);
//for android:layout_gravity
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.gravity=Gravity.CENTER;
arrow.setLayoutParams(params);