我有一个 Tablerow of tablelayout 的 Linearlayout 部分。以下是示例说明
<!-- Master Layout-->
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent" android:layout_width="match_parent"
android:stretchColumns="0" android:baselineAligned="false">
<TableRow>
<Button></Button>
</Tablerow>
<TableRow>
<LinearLayout android:id="@+id/listinfo"></LinearLayout>
</Tablerow>
然后我写了另一个 linearlayout 来创建我膨胀并添加到的 linearlayout 行 主布局的线性布局。
<!-- listrow layout-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android"
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_gravity="left"
android:src="@drawable/icon" />
<TextView android:layout_weight="1" android:id="@+id/textView1" />
<TextView android:layout_weight="1" android:id="@+id/textView1" />
</LinearLayout>
一切正常,但我没有得到行分界符。如何做到这一点?
Java代码
LinearLayout placeHolderLinearLayout = (LinearLayout)findViewById(R.id.listinfo);
for (int i =0; i < myarray.size(); i++) {
final Employee eobj = myarray.get(i);
LayoutInflater vi = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout lrow = (LinearLayout)vi.inflate(R.layout.listrow, null);
lrow.setBackgroundColor(android.graphics.Color.WHITE);
lrow.setPadding(2, 2, 2, 2);
((TextView)lrow.getChildAt(1)).setText(eobj.getName());
//some more settings
placeHolderLinearLayout.addView(lrow);
}
View 不显示后续线性布局之间的任何分界符。我怎样才能做到这一点?
|---------------------|
| lrow1 |
|______demarcator_____|
| lrow2 | => The demaractor is missing in my view
|_____________________|
最佳答案
LinearLayout lrow = (LinearLayout)vi.inflate(R.layout.listrow, null);
尝试传递 placeHolderLinearLayout
而不是 null
。
如果您将 true
定义为第三个参数,则 infalted 布局将自动添加到给定的 ViewGroup
。 false
将避免这种情况。
关于android - 如何在膨胀 LinearLayout 时添加行边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7574095/