Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中设置样式的重力?_Android_Textview_Android Linearlayout - Fatal编程技术网

如何在android中设置样式的重力?

如何在android中设置样式的重力?,android,textview,android-linearlayout,Android,Textview,Android Linearlayout,我有一个水平线性布局的文本视图,文本视图是顶部对齐的。我希望它垂直对齐 我已将textview设置为名为“箭头”的样式 然而,这仍然不能使它垂直对齐 有人知道这是怎么回事吗 谢谢您也可以尝试在文本视图上使用SetGravity 用于setTextAppearance()的javadocs状态: 从中设置文本颜色、大小、样式、提示颜色和高亮显示颜色 指定的TextAppearance资源 不包括任何关于位置或重力的信息。我猜这就是为什么你的重力没有任何影响 试着这样做: //for android

我有一个水平线性布局的文本视图,文本视图是顶部对齐的。我希望它垂直对齐

我已将textview设置为名为“箭头”的样式

然而,这仍然不能使它垂直对齐

有人知道这是怎么回事吗


谢谢

您也可以尝试在文本视图上使用
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);