简体   繁体   中英

Layout using LinearLayout, Imagebuttons and TextView

I wish I could do something like the following picture:

Well... my layout should look like the one below (the only difference is that they will not be plain colors... they will be pictures

LINK TO IMAGE: http://www.imagebam.com/image/6054a5158069351

I have the following code in my application:

    <?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"/>

As you guys can see... the layout above doesn't work as expected.

I wish the layout above could "expand" itself to bigger screens keeping the aspect ration, you know?

Any ideas?

Any help is welcome.

I guess I found the solution. The code below works.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM