将3个图像放在布局中

时间:2012-08-02 11:08:16

标签: android android-layout

我想做一个简单的事情:在一个布局中放置3个图像 - 一个在左边,第二个在中间,第三个在右边。

这是我的代码:

<LinearLayout  android:id="@+id/linearV" 
        android:background="@drawable/gradientbg" 
        android:orientation="horizontal" 
        android:layout_width="fill_parent" 
        android:layout_height="50dip"       
         >
         <ImageView android:id="@+id/headerimage1"           
            android:layout_height="fill_parent" 
            android:layout_width="100dip" 
            android:src="@drawable/image1"
            android:scaleType="fitXY"/>
         <ImageView android:id="@+id/headerimage2"            
            android:layout_height="fill_parent" 
            android:layout_width="100dip" 
            android:src="@drawable/image2"
            android:scaleType="fitXY"/>
        <ImageView android:id="@+id/headerimage3"             
            android:layout_height="fill_parent" 
            android:layout_width="100dip"
            android:src="@drawable/image3"
            android:scaleType="fitXY"
            />             
    </LinearLayout>

我试图在每个ImageView中添加:“android:gravity”标签,但它似乎没有任何效果。

5 个答案:

答案 0 :(得分:2)

如果坚持使用线性布局,请对图像使用layout_weight,对线性布局使用WeightSum

答案 1 :(得分:1)

你必须使用RelativeLayout。检查此链接: http://android-coding.blogspot.com.es/2011/03/example-of-relativelayout.html

答案 2 :(得分:0)

这应该可以解决您的问题

<LinearLayout  android:id="@+id/linearV" 
    android:background="@drawable/gradientbg" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="50dip"       
     >
     <ImageView android:id="@+id/headerimage1"           
        android:layout_height="fill_parent" 
        android:layout_width="100dip" 
        android:src="@drawable/image1"
        android:layout_weight="1.0"/>
     <ImageView android:id="@+id/headerimage2"            
        android:layout_height="fill_parent" 
        android:layout_width="100dip" 
        android:src="@drawable/image2"
        android:layout_weight="1.0"/>
    <ImageView android:id="@+id/headerimage3"             
        android:layout_height="fill_parent" 
        android:layout_width="100dip"
        android:src="@drawable/image3"
        android:layout_weight="1.0"
        />             
</LinearLayout>

答案 3 :(得分:0)

当然可以使用LinearLayout,只需使用layout_gravity参数,然后将其值设置为centerleftright ..或其他任何东西。你甚至可以把它们中的一些结合起来。

您应该查看doc

答案 4 :(得分:-1)

您应该使用Relativelayout,而不是LinearLayout,

<RelativeLayout android:id="@+id/linearV" 
        android:background="@drawable/gradientbg" 
        android:orientation="horizontal" 
        android:layout_width="fill_parent" 
        android:layout_height="50dip" >

         <ImageView android:id="@+id/headerimage1"           
            android:layout_height="fill_parent" 
            android:layout_width="100dip" 
            android:src="@drawable/image1"
            android:scaleType="fitXY"
            android:layout_alignParentLeft="true" />

         <ImageView android:id="@+id/headerimage2"            
            android:layout_height="fill_parent" 
            android:layout_width="100dip" 
            android:src="@drawable/image2"
            android:scaleType="fitXY"
            android:layout_centerHorizontal="true" />

        <ImageView android:id="@+id/headerimage3"             
            android:layout_height="fill_parent" 
            android:layout_width="100dip"
            android:src="@drawable/image3"
            android:scaleType="fitXY"
            android:layout_alignParentRight="true" />           

    </RelativeLayout >