使用LinearLayout,Imagebuttons和TextView进行布局

时间:2011-11-07 11:41:48

标签: android layout

我希望我可以做如下图所示的事情:

嗯...我的布局应该如下所示(唯一的区别是它们不会是纯色......它们将是图片

链接到图片: http://www.imagebam.com/image/6054a5158069351

我的应用程序中有以下代码:

    <?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:orientation="vertical" 
android:background="#FFFFFFFF">

     <LinearLayout              
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:layout_weight="2"/>

    <LinearLayout               
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:layout_weight="1">

    <LinearLayout               
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"

        android:orientation="vertical"
        android:layout_weight="1">
        <FrameLayout            
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="30dip"
            android:layout_weight="1"> 
            <ImageButton
                android:scaleType="centerCrop"
                android:cropToPadding="true"
                android:background="@drawable/user"
                android:layout_gravity="center_horizontal"                  
                android:padding="20dip"                 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1">
            </ImageButton>
        <TextView android:text="User"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_gravity="bottom|center"
            android:textSize="20dip"
            android:textColor="#000000"
            android:textStyle="bold"
            android:layout_weight="1"/>

        </FrameLayout>

    </LinearLayout>

    <LinearLayout               
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_weight="1">
        <FrameLayout            
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="30dip"
            android:layout_weight="1"> 
            <ImageButton
                android:scaleType="centerCrop"
                android:cropToPadding="true"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/admin"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"

                android:layout_weight="1">
            </ImageButton>

        <TextView android:text="Admin"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_gravity="bottom|center"
            android:textSize="20dip"
            android:textColor="#000000"
            android:textStyle="bold"
            android:layout_weight="1"/>

        </FrameLayout>

    </LinearLayout>
    </LinearLayout>
     <LinearLayout              
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:layout_weight="2"/>

你们可以看到......上面的布局不能按预期工作。

我希望上面的布局能够“扩展”到更大的屏幕,保持宽高比,你知道吗?

有什么想法吗?

欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

我想我找到了解决方案。以下代码有效。

    <?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:orientation="vertical" 
android:background="#FFFFFFFF">


    <LinearLayout               
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:layout_weight="1">

    <LinearLayout               
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"

        android:orientation="vertical"
        android:layout_weight="1">
        <FrameLayout            
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">

            <LinearLayout 
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|center_horizontal"
                >
                <ImageView
                    android:scaleType="centerCrop"
                    android:cropToPadding="true"
                    android:src="@drawable/user"
                    android:id="@+id/user" 
                    android:background="@drawable/image_bg"
                    android:layout_gravity="center_horizontal"                  
                    android:padding="20dip"                 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.8">
                </ImageView>
                <TextView android:text="User"
                    android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" 
                    android:layout_gravity="bottom|center"
                    android:textSize="20dip"
                    android:textColor="#000000"
                    android:textStyle="bold"
                    android:layout_weight=".2"/>
             </LinearLayout>    
        </FrameLayout>

    </LinearLayout>

    <LinearLayout               
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_weight="1">
        <FrameLayout            
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">

            <LinearLayout 
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|center_horizontal"
                >
                <ImageView
                    android:scaleType="centerCrop"
                    android:cropToPadding="true"
                    android:src="@drawable/admin"
                    android:id="@+id/cuidador"
                    android:background="@drawable/image_bg"
                    android:layout_gravity="center_horizontal"                  
                    android:padding="20dip"                 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.8">
                </ImageView>
                <TextView android:text="Admin"
                    android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" 
                    android:layout_gravity="bottom|center"
                    android:textSize="20dip"
                    android:textColor="#000000"
                    android:textStyle="bold"
                    android:layout_weight=".2"/>
             </LinearLayout>    
        </FrameLayout>

    </LinearLayout>
    </LinearLayout>