如何制作漂亮的主菜单页面
How to make a nice Main Menu Page
我想制作一个像Android设备主页一样漂亮的主菜单页面,其中按钮图像按行排列;页面中的每一行都包含 4 个图像按钮。
我使用了下面的布局,但是每行的 imageViews 大小不均匀。我有这些问题:
我想要连续 3 个 imageView。
如何检测屏幕的宽度和高度是多少,所以将它划分为 3 个 imageView?比如说,基于银河笔记。
3个imageView之间的间距怎么办?每个ImageView下面都有一个textView来表示ImageView的名称或功能。
我应该允许旋转吗?如果是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设备主页一样漂亮的主菜单页面,其中按钮图像按行排列;页面中的每一行都包含 4 个图像按钮。
我使用了下面的布局,但是每行的 imageViews 大小不均匀。我有这些问题:
我想要连续 3 个 imageView。 如何检测屏幕的宽度和高度是多少,所以将它划分为 3 个 imageView?比如说,基于银河笔记。
3个imageView之间的间距怎么办?每个ImageView下面都有一个textView来表示ImageView的名称或功能。
我应该允许旋转吗?如果是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 实现。