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

时间:2015-08-03 15:10:58

标签: xamarin xamarin.android

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

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

  1. 我希望连续使用3个imageView。 如何检测屏幕的宽度和高度是什么,所以将它除以3 imageView?说,基于星系音符。

  2. 如何在3个imageViews之间进行间距?在每个ImageView下面都有一个textView来指示ImageView的名称或功能。

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

  4. 由于

    
    <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>
    
    
    
    
    
    
    
    

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找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