-1

我有一个有 3 个按钮的布局。我想为每个图像视图定位两个文本视图。我怎样才能实现这个布局?AbsoluteLayout 是否足以满足我的需求?

这是我的布局部分。

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_gravity="center_horizontal"
        android:weightSum="2" >       

         <ImageView
             android:id="@+id/btn1"
             android:layout_width="100dp"
             android:layout_height="wrap_content"
             android:layout_alignParentRight="true"             
             android:background="@drawable/gray" />


         <ImageView
             android:id="@+id/btn2"
             android:layout_width="100dp"
             android:layout_height="wrap_content"
             android:layout_alignParentRight="true"             
             android:background="@drawable/gray" />

         <ImageView
             android:id="@+id/btn3"
             android:layout_width="100dp"
             android:layout_height="wrap_content"
             android:layout_alignParentRight="true"             
             android:background="@drawable/gray" />

    </LinearLayout>

我想实现这个布局。框是图像视图。 一只忙碌的猫 http://img824.imageshack.us/img824/2385/layoutrq.jpg

4

5 回答 5

1

使用线性布局你可以这样做。

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="3"
    android:background="#F0F0F0" >

       <LinearLayout android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:gravity="center_vertical|center_horizontal"
           android:orientation="vertical">

            <TextView
           android:id="@+id/textView2"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="TextView" />

       <TextView
           android:id="@+id/textView1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="20dp"
           android:text="TextView" />
       </LinearLayout>

      <LinearLayout android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
            android:gravity="center_vertical|center_horizontal"
           android:orientation="vertical">

            <TextView
           android:id="@+id/textView2"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="TextView" />

       <TextView
           android:id="@+id/textView1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="20dp"
           android:text="TextView" />
       </LinearLayout>

      <LinearLayout android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
            android:gravity="center_vertical|center_horizontal"
           android:orientation="vertical">

            <TextView
           android:id="@+id/textView2"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="TextView" />

       <TextView
           android:id="@+id/textView1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="20dp"
           android:text="TextView" />
       </LinearLayout>

    </LinearLayout>
于 2013-01-12T07:20:21.973 回答
1

使用RelativeLayout而不是 ImageView :

<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:gravity="center"
    android:background="#000">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView1" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:text="TextView2" />

</RelativeLayout>

我建议为它创建一个单独的布局和类以供重用。

于 2013-01-11T14:59:39.997 回答
0

使用 Button 而不是 ImageView,您可能想要自定义按钮背景?用这个:

<ImageButton
android:id="@+id/ImageButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/album_icon"
android:background="@drawable/round_button" />

或者这仍然使用图像文件:

ImageView iv = (ImageView)findViewById(R.id.ImageView01);
iv.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub

}
});
于 2013-01-11T14:47:33.347 回答
0

这是你需要的吗?

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp"
        android:gravity="center"
        android:orientation="horizontal">       

        <RelativeLayout
            android:id="@+id/btn1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_margin="10dp"
            android:layout_alignParentLeft="true"
            android:background="@drawable/gray"
            android:orientation="vertical">   

            <TextView
                android:id="@+id/txt1"
                android:layout_width="match_parent"
                android:layout_alignParentTop="true"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal"
                android:text="Label 1" />

            <TextView
                android:id="@+id/txt2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="center_horizontal"
                android:text="Label 2" />

        </RelativeLayout>    

        <RelativeLayout
            android:id="@+id/btn2"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_margin="10dp"
            android:layout_toRightOf="@id/btn1"
            android:background="@drawable/gray"
            android:orientation="vertical">   

            <TextView
                android:id="@+id/txt3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:gravity="center_horizontal"
                android:text="Label 3" />

            <TextView
                android:id="@+id/txt4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="center_horizontal"
                android:text="Label 4" />

        </RelativeLayout>    

        <RelativeLayout
            android:id="@+id/btn3"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_margin="10dp"
            android:layout_toRightOf="@id/btn2"
            android:background="@drawable/gray"
            android:orientation="vertical">   

            <TextView
                android:id="@+id/txt5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:gravity="center_horizontal"
                android:text="Label 5" />

            <TextView
                android:id="@+id/txt6"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="center_horizontal"
                android:text="Label 6" />

        </RelativeLayout>    

    </RelativeLayout>

编辑:现在检查。您可以将 relativeLayouts 的背景设置为图像视图中所需的任何内容,并设置 clicklistener 以便它们像按钮一样工作。

于 2013-01-11T15:22:09.000 回答
0

使用 Button 而不是 ImageView。

于 2013-01-11T14:41:59.300 回答