gpt4 book ai didi

android - 动态生成 TableRow 时如何拉伸(stretch)和收缩列?

转载 作者:太空狗 更新时间:2023-10-29 16:20:45 25 4
gpt4 key购买 nike

我正在使用 TableLayout 并用自定义行动态填充它,但现在如果我使用 android:stretchColumns android:shrinkColumns 它不起作用。

我的 Activity 布局:

<LinearLayout 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<TextView
android:text="@string/offline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="@color/dimGray"
/>

<TableLayout
android:id="@+id/download_full_table"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:stretchColumns="2"
android:shrinkColumns="1"
>
</LinearLayout>

我的行布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">

<TableRow
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">

<TextView

android:id="@+id/row_name"
android:text="@string/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:layout_marginLeft="15dp"
android:layout_marginTop="7dp"
android:layout_marginRight="10dp"
/>

<TextView
android:id="@+id/row_size"
android:text="@string/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/lightGray"
android:layout_marginTop="7dp"
/>

<Button
android:id="@+id/row_btnDownload"
android:text="@string/baixar"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:background="@drawable/btn_baixar_verde"
android:textColor="@color/white"
android:textSize="13sp"
android:layout_marginTop="7dp"
android:layout_marginBottom="7dp"
android:layout_marginLeft="7dp"
android:layout_marginRight="15dp"
android:textStyle="bold"

/>

</TableRow>

</LinearLayout>

我的代码:

TableLayout tableFullDownload = (TableLayout) findViewById(R.id.download_full_table);

LayoutInflater inflater = getLayoutInflater();

ArrayList<MetaDados> fullList = getIntent().getParcelableArrayListExtra("metaDadosFull");

for (MetaDados metaDados : fullList) {
LinearLayout row = (LinearLayout) inflater.inflate(R.layout.download_table_row, tableFullDownload, false);
TextView name = (TextView) row.findViewById(R.id.row_name);
TextView size = (TextView) row.findViewById(R.id.row_size);

name.setText(metaDados.getName());

long fileSize = metaDados.getSize();
fileSize = (fileSize / 1024) / 1024;
String sizeToShow = (fileSize + " MB");

size.setText(sizeToShow);

tableFullDownload.addView(row);
}

我得到了什么:

enter image description here

我想要什么:

enter image description here

最佳答案

问题是我试图拉伸(stretch)和收缩我的列,但是我的行中有一个独特的 View ,在这个 View 中我正在创建我的列,那么解决这个问题的唯一方法是使用我 View 中的权重属性

 <TextView
android:id="@+id/row_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:maxLines="2"

关于android - 动态生成 TableRow 时如何拉伸(stretch)和收缩列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15667671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com