在Android中布局的5面骰子

时间:2013-05-27 08:42:59

标签: android xml android-layout layout

我目前正在开发Android应用,我想做一个不错的布局 我想要实现的是以下布局:

layout example

圆圈的大小相同。除此之外,我需要能够点击它们,因此它们需要是按钮或图像视图。

实现这种布局的最佳方法是什么?

3 个答案:

答案 0 :(得分:3)

您可以使用RelativeLayout,并说出每个点应该与其他每个点相关的位置。

您还可以使用LinearLayout,创建三个“行”按钮,顶部和底部行包含两个“点”,中间一个包含一个在中心。

布局看起来像这样:

Dice Layout

代码就是这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <ImageButton 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/dot"
        android:background="@android:color/transparent"/>
    <ImageButton 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/dot2"
        android:background="@android:color/transparent"/>
    </LinearLayout>
    <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <ImageButton 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/dot3"
        android:background="@android:color/transparent"/>
    </LinearLayout>
    <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <ImageButton 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/dot4"
        android:background="@android:color/transparent"/>
    <ImageButton 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/dot5"
        android:background="@android:color/transparent"/>
    </LinearLayout>

</LinearLayout>

答案 1 :(得分:2)

试试这个..

<LinearLayout 
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 xmlns:android="http://schemas.android.com/apk/res/android">



<RelativeLayout
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:gravity="center"
 >

            <ImageView 
                android:src="@drawable/ic_launcher"
                android:layout_width="90dp"
                android:layout_height="90dp"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="10dp"
                /> 

            <ImageView 
                android:src="@drawable/ic_launcher"
                android:layout_width="90dp"
                android:layout_height="90dp"
                android:layout_alignParentRight="true"
                android:layout_marginRight="10dp"
                /> 

</RelativeLayout>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>
            <ImageView 
                android:src="@drawable/ic_launcher"
                android:layout_width="90dp"
                android:layout_height="90dp"
                android:layout_centerInParent="true"
                /> 


</RelativeLayout>

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
>

            <ImageView 
                android:src="@drawable/ic_launcher"
                android:layout_width="90dp"
                android:layout_height="90dp"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="10dp"
                /> 

            <ImageView 
                android:src="@drawable/ic_launcher"
                android:layout_width="90dp"
                android:layout_height="90dp"
                android:layout_alignParentRight="true"
                android:layout_marginRight="10dp"
                /> 

 </RelativeLayout>

 </LinearLayout>

答案 2 :(得分:1)

使用LinearLayout或RelativeLayout的嵌套。要将图像用作按钮,请使用ImageView并在xml中为每个图像指示相应的ID,以便在活动中使用它。