关于XML布局和代码动态布局的问题

Bllose 发布于 2014/02/28 14:15
阅读 160
收藏 0

遇见这个问题的时候我在学习 android的 GridLayout

比如我用XML写布局的时候可以这样写:

<GridLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="4" >
            <TextView
                    android:id="@+id/textView1"
                    android:layout_column="0"
                    android:layout_gravity="left|center_vertical"
                    android:layout_row="0"
                    android:text="TextView" />
</GridLayout>

我查看了一些android文档GridLayout的cell们的属性定义( android.widget.GridLayout.LayoutParams):

Attribute Name                                     Related Method
android:layout_column
android:layout_columnSpan
android:layout_gravity             setGravity(int)
     ...                             

也就是说,这几个参数里面只有  gravity  是存在可调用方法的。
问题1:是不是意味着目前只有 gravity可以在代码动态定义元素属性时被使用,  columnSpan这类属性在代码定义View的时候是没办法直接实现的????

后来我尝试些了一个代码版本的界面:

GridLayout gl = new GridLayout(this);
TextView tx1 = new TextView(this);
    tx1.setText("1.1");
    gl.addView(tx1);
setContentView(gl);

但是我没办法使用 setGravity(int) 这个方法  在 tx1. 中我发现里面能用的方法大多是 textview 下 XML Attributes 所对应的方法。   而setGravity(int)是gridLayout.LayoutParams下的方法,必然是调用不到的。所以 问题2:我很疑惑那这个 setGravity(int)到底是在什么时候才用呢?

加载中
返回顶部
顶部