我需要创建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创建的,还是应该以编程方式完成?