GridLayout中的Android Button布局

时间:2014-12-08 22:44:52

标签: android xml android-layout intellij-idea grid-layout

我有一些问题。我想使用GridLayout制作android布局资源文件。我尝试了很多,但没有我需要的结果。我想使用GridLayout来实现它。

查看我的xml布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:background="@drawable/how_we_perform_background"
              android:layout_height="match_parent">
    <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="45sp"
            android:gravity="center"
            android:text="How are We performing?"/>
    <GridLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:numColumns="5">
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/selector_smile1"
                android:layout_column="1"
                android:layout_row="1"/>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/selector_smile2"
                android:layout_column="2"
                android:layout_row="1"/>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/selector_smile3"
                android:layout_column="3"
                android:layout_row="1"/>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/selector_smile4"
                android:layout_column="4"
                android:layout_row="1"/>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/selector_smile5"
                android:layout_column="5"
                android:layout_row="1"/>

        <ImageView
                android:layout_gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/under_smile_image"
                android:layout_column="1"
                android:layout_row="2"/>
        <ImageView
                android:layout_gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/under_smile_image"
                android:layout_column="2"
                android:layout_row="2"/>
        <ImageView
                android:layout_gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/under_smile_image"
                android:layout_column="3"
                android:layout_row="2"/>
        <ImageView
                android:layout_gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/under_smile_image"
                android:layout_column="4"
                android:layout_row="2"/>
        <ImageView
                android:layout_gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/under_smile_image"
                android:layout_column="5"
                android:layout_row="2"/>
    </GridLayout>
</LinearLayout>

在这里你可以看到所有的微笑都不在手机显示屏上。我弄错了什么? 此外,我需要该按钮不缩放我放入背景的图像。

Wrong layout

1 个答案:

答案 0 :(得分:0)

将您的gridview更改为match_parent

 <GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="5">

实际上,我会将ImageViews设置为固定大小,因此它们都适合屏幕。