Java 如何水平对齐内部布局
在一个对话框中,我试图创建一个Java 如何水平对齐内部布局,java,android,layout,alignment,Java,Android,Layout,Alignment,在一个对话框中,我试图创建一个LinearLayout,第一个包含TextView,第二个包含GridLayout(不是通过定义xml布局)。如何使内部网格布局在外部线性布局内水平居中 所需布局: 对于内部文本视图,它非常简单(通过setGravity)。但是我不知道如何为GridLayout执行此操作。我把LayoutParams设置为外部布局和内部布局,但找不到方法 顺便说一句:我知道xml属性android:layout_gravity和android:gravity之间的区别基本上是为
LinearLayout
,第一个包含TextView
,第二个包含GridLayout
(不是通过定义xml布局)。如何使内部网格布局
在外部线性布局
内水平居中
所需布局:
对于内部文本视图
,它非常简单(通过setGravity
)。但是我不知道如何为GridLayout
执行此操作。我把LayoutParams
设置为外部布局和内部布局,但找不到方法
顺便说一句:我知道xml属性android:layout_gravity
和android:gravity
之间的区别基本上是为包含的子视图和视图本身定义布局,但是为什么没有相应的java方法,比如setLayoutGravity()
,而只有setGravity()
LinearLayout outerLayout = new LinearLayout(getContext());
outerLayout.setOrientation(LinearLayout.VERTICAL);
TextView txtView = new TextView(getContext());
txtView.setText("Hello world");
txtView.setGravity(Gravity.CENTER_HORIZONTAL);
GridLayout innerLayout = _buildMyGridLayout(getContext());
//what to do with the innerLayout?
outerLayout.addView(txtView);
outerLayout.addView(innerLayout);