在TableRow中创建具有相同宽度的TextViews。

问题描述 投票:2回答:1

我面临着一个问题:我想为我的主屏幕创建一个图标网格,所以我使用了4个图标。TableRows 和3 TextViews 在每一。TextViews 是由一个图标和一段文字组成的,文字的长度不同。

我不知道该怎么写。xml 文件,使所有这些 TextViews 我把它们的大小显示在一个行中。logcat 所以我肯定它们的宽度不一样;)

我试过 m1shk4的解决方案但这并不奏效。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_weight="1"
        android:gravity="center" >

            <TextView
                android:id="@+id/textView1"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:clickable="true"
                android:drawableTop="@drawable/nearby"
                android:gravity="center"
                android:onClick="goToArticles"
                android:text="All Nearby" />

            <TextView
                android:id="@+id/textView2"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:clickable="true"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/supermarket"
                android:gravity="center"
                android:onClick="goToMap"
                android:text="Supermarkets" />

            <TextView
                android:id="@+id/textView3"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/pharmacy"
                android:gravity="center"
                android:text="Pharmacy" />

    </TableRow>

   <TableRow
        android:id="@+id/tableRow2"
        android:layout_weight="1"
        android:gravity="center" >

            <TextView
                android:id="@+id/textView4"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/fastfood"
                android:gravity="center"
                android:text="Fastfood" />

            <TextView
                android:id="@+id/textView5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:clickable="true"
                android:drawableTop="@drawable/departmentstores"
                android:gravity="center"
                android:onClick="displaySizes"
                android:text="Department Stores" />

            <TextView
                android:id="@+id/textView6"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/petrol"
                android:gravity="center"
                android:text="Petrol Stations" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_weight="1"
        android:gravity="center" >

            <TextView
                android:id="@+id/textView7"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:drawableTop="@drawable/electronics"
                android:gravity="center"
                android:layout_width="match_parent"
                android:text="Electronics" />

            <TextView
                android:id="@+id/textView8"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/diy"
                android:gravity="center"
                android:text="DIY Stores" />

            <TextView
                android:id="@+id/textView9"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/banking"
                android:gravity="center"
                android:text="Banks" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_weight="1"
        android:gravity="center" >

            <TextView
                android:id="@+id/textView10"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/fashion"
                android:gravity="center"
                android:text="Fashion &amp; Clothing" />

            <TextView
                android:id="@+id/textView11"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/autoparts"
                android:gravity="center"
                android:text="Auto Service" />

            <TextView
                android:id="@+id/textView12"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:drawableTop="@drawable/more"
                android:gravity="center"
                android:text="All Categories" />

    </TableRow>

</TableLayout>

有什么办法吗?谢谢:)我面临一个问题:我想在我的主屏幕上创建一个图标网格,所以我使用了4个TableRows和3个TextViews。

android android-layout textview android-tablelayout android-layout-weight
1个回答
2
投票

TableRow 代表一个水平方向的 LinearLayoutజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజ 重量 属性应与 layout_width="0dp" 为孩子的观点。所以为了使每个 TextViewTableRow 同宽替换

android:layout_width="match_parent"

android:layout_width="0dp"

对于每一个 TextView 一连串的。

© www.soinside.com 2019 - 2024. All rights reserved.