2017-07-03 83 views
1

在一个对话,我想创建一个包含LinearLayout第一一个TextView一个GridLayout编程(不是定义XML布局)。如何在内部LinearLayout内水平设置内部GridLayout中心。如何水平对齐的内部布局

Desired_layout:

desired_layout

对于内部TextView这是相当简单的(经由setGravity)。但我不知道如何为GridLayout做到这一点。我把LayoutParams设置为外部布局和内部布局,但是找不到方法。

顺便说一句:据我了解,之间的差别XML的属性android:layout_gravityandroid:gravity基本上定义为包含子视图和视图本身的布局,但为什么会出现像setLayoutGravity()但只有setGravity()没有对应的Java方法?

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); 

回答