How to place 50% for the width

I have a LinearLayout in horizontal orientation and 2 ImageViews, and I want the ImageView to fill 50% of the screen width to work on every mobile phone or tablet with different sizes.

Something like that:

 +-------------+   
 |_____________|     
 |      |      |  
 | 50%  | 50%  |  
 |      |      |   
 |-------------|
 |             |
 +-------------+

The best thing:

<?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:gravity="center"
    android:orientation="horizontal" >


        <ImageView
            android:id="@+id/logo_c"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/logo_animado" />

        <ImageView
            android:id="@+id/logo_t"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/logo_animado2" />


</LinearLayout>
+5
source share
4 answers

Write the following code for this in both views inside LinearLayout.

android:layout_width="0dp"
layout_weight="1"
+9
source
<?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:gravity="center" 
    android:weightSum="100"
    android:orientation="horizontal" >


    <ImageView
        android:id="@+id/logo_c"
        android:layout_width="0dp" 
        android:layout_weight="50" 
        android:layout_height="wrap_content"
        android:src="@drawable/logo_animado" />

    <ImageView
        android:id="@+id/logo_t" 
        android:layout_height="wrap_content" 
        android:layout_width="0dp"    
        android:layout_weight="50" 
        android:src="@drawable/logo_animado2" />


</LinearLayout>
+3
source

android: weightSum android: layout_weight

  <?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:gravity="center"
        android:weightSum="2"
        android:orientation="horizontal" >


            <ImageView
                android:id="@+id/logo_c"
                android:layout_width="0dp" android:layout_weight="1" 
                android:layout_height="wrap_content"
                android:src="@drawable/logo_animado" />

            <ImageView
                android:id="@+id/logo_t"
                android:layout_width="0dp" android:layout_weight="1"
                android:layout_height="wrap_content"
                android:src="@drawable/logo_animado2" />


    </LinearLayout>
+2

Add android:layout_weight="1"in ImageViewand make the width if the image looks like fill_parentI think it will solve your problem

But remember that this will stretch your image, because the image will stretch at every screen resolution, so your image.

+1
source

All Articles