Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据屏幕大小在android中扩展布局?_Android_Android Layout_Android Gridlayout - Fatal编程技术网

如何根据屏幕大小在android中扩展布局?

如何根据屏幕大小在android中扩展布局?,android,android-layout,android-gridlayout,Android,Android Layout,Android Gridlayout,我需要创建6个图像或按钮,如它在图片上的蓝色单元格显示,行动栏alredy存在,黑色是存在的图片和广告横幅存在,它工作得很好。所以我需要添加6个蓝色单元格图像。 这是旧代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" a

我需要创建6个图像或按钮,如它在图片上的蓝色单元格显示,行动栏alredy存在,黑色是存在的图片和广告横幅存在,它工作得很好。所以我需要添加6个蓝色单元格图像。 这是旧代码

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/White"
tools:context=".Activity_Home" 

<include
    android:id="@+id/top_bar"
    android:layout_alignParentTop="true"
    layout="@layout/top_bar" />

<include
    android:id="@+id/bottom_layout"
    android:layout_alignParentBottom="true"
    layout="@layout/bottomlayout" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/bottom_layout"
    android:layout_below="@id/top_bar"
    android:orientation="vertical"
    android:weightSum="5" >

    <!--
    <ImageView
        android:id="@+id/app_image"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:contentDescription="app_image"
        android:scaleType="fitXY"
        android:src="@drawable/dashboard_image" />
        -->

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/img_1"
        android:layout_weight="1.5"
        android:layout_margin="5dp"
        android:scaleType="centerCrop"
        android:src="@drawable/img_not_connected"
        android:visibility="gone" />


    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/img_2"
        android:layout_weight="1.5"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:scaleType="centerCrop"
        android:src="@drawable/img_2"
        android:visibility="gone" />

    <ImageView
        android:id="@+id/app_image"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:scaleType="fitXY" />
    <!-- I removed this ListView -->
    <ListView
        android:id="@+id/event_list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3"
        android:divider="@null"
        android:visibility="visible">
    </ListView>
</LinearLayout>

</RelativeLayout>


这是我创建的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/White"
tools:context=".Activity_Home" >

<include
    android:id="@+id/top_bar"
    android:layout_alignParentTop="true"
    layout="@layout/top_bar" />

<include
    android:id="@+id/bottom_layout"
    android:layout_alignParentBottom="true"
    layout="@layout/bottomlayout" />


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/bottom_layout"
    android:layout_below="@id/top_bar"
    android:orientation="vertical"
    android:weightSum="5" >

    <!--
    <ImageView
        android:id="@+id/app_image"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:contentDescription="app_image"
        android:scaleType="fitXY"
        android:src="@drawable/dashboard_image" />
        -->

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/img_1"
        android:layout_weight="1.5"
        android:layout_margin="5dp"
        android:scaleType="centerCrop"
        android:src="@drawable/img_not_connected"
        android:visibility="gone" />


    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/img_2"
        android:layout_weight="1.5"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:scaleType="centerCrop"
        android:src="@drawable/img_2"
        android:visibility="gone" />

    <ImageView
        android:id="@+id/app_image"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:scaleType="fitXY" />

    <!-- I have added this GridLayout and ImageViews in it  -->
    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3"
        android:columnCount="2"
        android:rowCount="3"
        android:divider="@null"
        android:visibility="visible">


        <ImageView
            android:id="@+id/image3"
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_margin="4dp"
            android:layout_columnWeight="1"
            android:gravity="center"
            android:scaleType="fitXY"
            android:layout_gravity="fill_horizontal"
            android:src="@drawable/img_exibhome" />

        <ImageView
            android:id="@+id/image3"
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_margin="4dp"
            android:layout_columnWeight="1"
            android:gravity="center"
            android:scaleType="fitXY"
            android:layout_gravity="fill_horizontal"
            android:src="@drawable/img_exibhome" />

        <ImageView
            android:id="@+id/image3"
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_margin="4dp"
            android:layout_columnWeight="1"
            android:gravity="center"
            android:scaleType="fitXY"
            android:layout_gravity="fill_horizontal"
            android:src="@drawable/img_exibhome" />

        <ImageView
            android:id="@+id/image2"
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_margin="4dp"
            android:layout_columnWeight="1"
            android:gravity="center"
            android:scaleType="fitXY"
            android:layout_gravity="fill_horizontal"
            android:src="@drawable/img_loginticket" />

        <ImageView
            android:id="@+id/image2"
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_margin="4dp"
            android:layout_columnWeight="1"
            android:gravity="center"
            android:scaleType="fitXY"
            android:layout_gravity="fill_horizontal"
            android:src="@drawable/img_loginticket" />

        <ImageView
            android:id="@+id/image2"
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_margin="4dp"
            android:layout_columnWeight="1"
            android:gravity="center"
            android:scaleType="fitXY"
            android:layout_gravity="fill_horizontal"
            android:src="@drawable/img_loginticket" />

    </GridLayout>

</LinearLayout>


任务是删除listview内容并添加六个单元格,如图中蓝色单元格所示。我试过在gridlayout中使用它,它在手机上效果很好,但在平板电脑上不行,在平板电脑上它扭曲了6幅图像。因此,我的问题是,我如何才能完成任务,使其适合所有屏幕,我应该按编程方式完成吗?另外一个想法是,如果广告横幅不存在,Ui组件应该拉伸以占据缺少添加横幅的空间。这可能是用xml创建的,还是也应该通过编程实现的?

将GridLayoutManager与RecycleView结合使用。网上有很多例子()感谢您的快速响应;)。虽然我需要固定数量的单元格,但我是否应该使用RecycleView?
GridLayout
是固定单元格所需的全部。Thx cricket。你能给我一个提示,告诉我如何在有广告横幅和没有广告横幅的情况下进行编程吗?