Android:带有居中图像和右侧按钮的栏

时间:2010-09-03 08:48:44

标签: android layout

我真的在应用程序中遇到布局的一部分。我有一个带有居中图像的标题栏,右边应该有两个按钮(或者像我现在一样可点击的图像)。我设法将图像放在彼此旁边(全部居中),但我希望图像在右边。当我使用layout_weight来进行“第一次”拉伸时,按钮位于右侧,但它们变得如此之小。我希望按钮(图像)保持原始尺寸。我甚至尝试使用minWidth和minHeight对其进行硬编码,但这不起作用。

以下是将所有内容集中在一起的代码:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:background="@drawable/header_tile">

    <ImageView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:src="@drawable/header_logo">
    </ImageView>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

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

        <ImageView
           android:id="@+id/next"
           android:src="@drawable/omlaag"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content">
        </ImageView>
    </LinearLayout>
</LinearLayout>

这是有效的代码,除了最后一个图像变得如此之小:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:background="@drawable/header_tile">

    <ImageView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:src="@drawable/header_logo"
        android:layout_weight="2">
    </ImageView>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1">

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

        <ImageView
           android:id="@+id/next"
           android:src="@drawable/omlaag"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content">
        </ImageView>
    </LinearLayout>
</LinearLayout>

有什么想法吗?非常感谢!

埃里克

3 个答案:

答案 0 :(得分:1)

使用相对布局,功能更强大,请注意layout_centerInParent和layout_alignParentRight属性:

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/header_tile">
    <ImageView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:src="@drawable/header_logo"
        android:layout_centerInParent="true">
    </ImageView>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true">
        <ImageView
           android:id="@+id/previous"
           android:src="@drawable/omhoog"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content">
        </ImageView>
        <ImageView
           android:id="@+id/next"
           android:src="@drawable/omlaag"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content">
        </ImageView>
    </LinearLayout>
</RelativeLayout>

答案 1 :(得分:0)

当与fill_parent&amp; amp;使用时,

layout_weight的工作方式不同WRAP_CONTENT;

  • wrap_content:它尝试以权重比例扩展项目以覆盖整个空间

  • fill_parent:它尝试按权重比例压缩项目。

使用权重

时,所有视图必须具有相同的类型(fill_parent / wrap_content)

答案 2 :(得分:0)

    的xmlns:机器人= “http://schemas.android.com/apk/res/android” &GT;

<LinearLayout android:id="@+id/LinearLayout01"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_weight="1" 
            android:gravity="center">
     <Button android:text="@+id/Button03"
         android:id="@+id/Button03" 
         android:layout_height="wrap_content"
          android:layout_weight="0" 
          android:layout_width="wrap_content">
    </Button>
</LinearLayout>

<LinearLayout
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content">      
    <Button android:id="@+id/Button01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="/\">
        </Button>
    <Button android:id="@+id/Button02" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="\/">
        </Button>
</LinearLayout>

不知道图像的大小,所以我使用了按钮。重量值可以是2吗? 0或1我一直在使用。