如何在Android Studio中为小部件设置无高度?

时间:2016-06-11 12:45:18

标签: android android-layout

我正在学习Android开发,我正在尝试制作一个简单的计算器。我在计算器的布局方面遇到了一些问题。在我看来,发布整个xml代码太笨了,所以我只想发布我认为重要的片段。

我创建了一个垂直的LinearLayout作为最顶层的父级,然后有2个子级,一个水平的LinearLayout(由一个显示输入的textView和一个告诉计算的按钮组成)和一个GridLayout,它将是0-9按钮和操作员。

问题是,网格布局是一个带有按钮的4x4网格,当我想设置第一行按钮时,每个按钮需要得到layout_height,这不能为空,如果我设置它& #39;匹配match_parent的值,然后单独该按钮将填满整个屏幕。

那么如何用layout_height解决这个问题,是否有一些解决方法或者为网格制作多个LinearLayout会更好?如果您有任何其他问题,请随时提出,以便我解释。

这是儿童LinearLayout和GridLayout xml代码:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_weight="1"
    android:background="@color/colorLight"
    android:orientation="horizontal">

<GridLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="8"
    android:background="@color/colorLight"
    android:>

2 个答案:

答案 0 :(得分:1)

抱歉,我误解了你的问题。 如果您使用的是API 21或更新版本,则可以使用columnCount来获取它。

请参阅that answerthat answer

答案 1 :(得分:0)

对各种屏幕尺寸进行排序的最佳方法是使用weight属性。对于GridLayout,根据documentation,没有。

查看此答案以获取各种想法,例如嵌套嵌套LinearLayoutsGridLayout (not GridView) how to stretch all children evenly