【发布时间】:2017-12-07 03:00:53
【问题描述】:
在一个对话框中,我试图以编程方式创建一个 LinearLayout,其中包含 first 一个 TextView 和 second 一个 GridLayout(而不是通过定义 xml-layout )。如何使内部GridLayout 在外部LinearLayout 内水平居中。
Desired_layout:
对于内部TextView,它非常简单(通过setGravity)。但我不知道如何为GridLayout 做这件事。我将LayoutParams 设置为外部布局和内部布局,但找不到方法。
btw:我知道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);
【问题讨论】:
标签: java android layout alignment