如何制作漂亮的主菜单页面

How to make a nice Main Menu Page

我想制作一个像Android设备主页一样漂亮的主菜单页面,其中按钮图像按行排列;页面中的每一行都包含 4 个图像按钮。

我使用了下面的布局,但是每行的 imageViews 大小不均匀。我有这些问题:

  1. 我想要连续 3 个 imageView。 如何检测屏幕的宽度和高度是多少,所以将它划分为 3 个 imageView?比如说,基于银河笔记。

  2. 3个imageView之间的间距怎么办?每个ImageView下面都有一个textView来表示ImageView的名称或功能。

  3. 我应该允许旋转吗?如果是rotate ,如何在水平旋转时启用滚动?

谢谢


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/myLinearLayout"
    android:minWidth="25px"
    android:minHeight="25px">

<LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/poiImageView"
        android:id="@+id/linearLayout1"
        android:layout_centerVertical="true">

 <ImageView
        android:id="@+id/Thumbnail1"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:paddingLeft="10dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:src="@drawable/Icon" />


 <ImageView
        android:id="@+id/Thumbnail1a"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:paddingLeft="10dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:src="@drawable/Icon" />

 <ImageView
        android:id="@+id/Thumbnail1b"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:paddingLeft="10dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:src="@drawable/Icon" />

  </LinearLayout>

<LinearLayout>
2nd row
 </LinearLayout>

<LinearLayout>
3rd row
 </LinearLayout>

</LinearLayout>







我相信您正在寻找 GridView。 GridView 是一个 ViewGroup,它在二维、可滚动的网格中显示项目。当内容增长时,它会自行处理滚动。此外,您还将获得其他打包功能,例如内存处理、使用适配器模式的内置 MVC 等。

一个简单的 GridView 如下所示;

<GridView
        android:id="@+id/gridView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:columnWidth="100dp"
        android:drawSelectorOnTop="true"
        android:gravity="center"
        android:numColumns="auto_fit"
        android:stretchMode="columnWidth"
        android:verticalSpacing="5dp"
        android:focusable="true"
        android:clickable="true"/>

您可以从以下链接检查一些完整的 GridView 实现。

Android GridView Example- Building Image Gallery in android

Download and Display Image in Android GridView