机器人:如何强制TableRows具有相同的高度?(android: How to force Ta

2019-08-17 05:49发布

我已搜查谷歌和计算器彻底,但我得到的唯一答案是:设置每个Tablerowlayout weight = "1" 。 这不工作。

现在我有一个八行TableLayout ,每个包含5个LinearLayouts 。 每个LinearLayouts的含有2个TextViewsFontSizes变化从TextViewTextView

事实证明,在TableRows的高度不同,这取决于所包含的Fontsizes TextViews 。 奇怪的是,它没有对任何布局是否影响我设置TableRows为“0dp”或“match_parent”或“FILL_PARENT”的layout_height。

我怎样才能迫使TableRows具有相同的高度? 我不想使用一个特定的点值高,因为tableRows必须把自己平分整个屏幕。

这里是XML的一部分,实际的文件是巨大的:

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="6"
    android:weightSum="8"
    tools:context=".MainActivity" >

    <TableRow
        android:layout_width="match_parent"
        android:layout_weight="1"
        tools:context=".MainActivity">

        <LinearLayout
            android:clickable="true"
            android:orientation="vertical"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginTop="@dimen/btnmargintop"
            android:layout_marginBottom="@dimen/btnmarginbot"
            android:layout_marginLeft="@dimen/btnmarginleft"
            android:layout_marginRight="@dimen/btnmarginright"
            android:layout_weight="1"
            android:background="@drawable/bg" >

            <myapp.TypefacedTextView
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="@integer/layoutweight1"
                android:layout_gravity="center"
                stevens:typeface="myfont.otf"
                android:clickable="false"
                android:textSize="@dimen/fontsize1" />
            <myapp.TypefacedTextView
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="@integer/layoutweight2"
                android:layout_gravity="center"
                stevens:typeface="myfont.otf"
                android:clickable="false"
                android:textSize="@dimen/fontsize2" />              
        </LinearLayout>

Answer 1:

你可能让你的标签的布局来自动调节里面的内容的大小。 有两种方法,定居下来的东西:

  • 确保所有元素共享相同的尺寸 - 这样说,不担心该表作为一个整体,只要确定,该元件的尺寸内是相同的
  • 或者干脆设置父布局的高度,不要让元素有所作为。 该解决方案的问题是,如果你得到更大的内部,你会出来的空间,所以你可能要坚持用第一个选项


文章来源: android: How to force TableRows to have the same height?