【发布时间】:2012-01-17 15:01:13
【问题描述】:
我制作了一个简单的应用程序来说明我的问题。简要说明: 该应用程序仅包含一项活动。它的根视图是 TableLayout。后者填充了 TableRow 元素,而这些元素又从“row.xml”膨胀而来。这是代码:
TestActivity.java
public class TestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutInflater inflater=getLayoutInflater();
TableLayout table=new TableLayout(this);
setContentView(table);
TableRow row;
for(int i=0;i<3;i++){
row=(TableRow)inflater.inflate(R.layout.row, null, true);
table.addView(row);
}
}
}
在row.xml 中的TableRow 是根元素,它有一个子元素——RelativeLayout。注意RelativeLayout的属性android:layout_width="match_parent"。 行.xml:
<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background"
>
<RelativeLayout
android:id="@+id/announcement_row_relative_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</RelativeLayout>
然后我运行项目,打开 hierarchyViewer 工具并检查表格行的宽度和相应的相对布局 - 我分别看到 320 和 0。如果我在相对布局中声明“match_parent”,为什么它们不一样(320 和 320)?我附上 2 张图片,您可以自己观察元素的宽度。
【问题讨论】:
标签: android android-relativelayout