android - 如何在膨胀 LinearLayout 时添加行边距?

标签 android android-layout

我有一个 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 布局将自动添加到给定的 ViewGroupfalse 将避免这种情况。

关于android - 如何在膨胀 LinearLayout 时添加行边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7574095/

相关文章:

c++ - Android 从 C++ 端播放原始音频

android - Material 设计的较小菜单图标在哪里?

找不到 Android ActionBar 类

android - 如何在 RecyclerView 项目出现时为其设置动画

java - 如何从MySQL数据库获取数据到android

android - 依赖 gradle android studio

java - Activity 启动时隐藏键盘

android - 为我的Android游戏创建了一个简单的静音按钮,但是它使应用程序崩溃了?

android-layout - Android 中带倒计时器的进度条

android - 自定义键盘不应用颜色更改的问题