android linearlayout基线对齐

时间:2013-02-20 10:06:47

标签: android eclipse user-interface

我有3个图像视图,但由于它们重叠,我不会让它们可点击,我想在每个图像视图的顶部制作按钮(但更小)。

我知道在RelativeLayout中有使用align_baseline的简单方法,但我对这些图片使用LinearLayout非常重要,因为他们使用layout_weight

重要的是按钮与imageview连接,而不仅仅是出现在它上面

这是我的代码可能有帮助

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
     ...
      <LinearLayout
            android:layout_width="match_parent"        
            android:layout_height="match_parent" 
            android:layout_above="@+id/twitter"
            android:layout_alignParentLeft="true"
            android:orientation="vertical"
            android:weightSum="3"
            android:layout_marginBottom="25dp"
            android:layout_alignParentTop="true" >
                <ImageView
             android:id="@+id/imgDis"
             android:layout_weight="1"
             android:layout_width="300dp"
             android:layout_height="120dp"
             android:layout_marginBottom="-20dp"
             android:background="@drawable/img1" />

                  <ImageView
            android:id="@+id/imgCal"
             android:layout_weight="1"
            android:layout_width="300dp"
            android:layout_height="120dp"
            android:layout_gravity="right"
            android:layout_marginBottom="-25dp"
            android:background="@drawable/img2"
            android:paddingLeft="25dp" />

        <ImageView
            android:id="@+id/imgDe"
             android:layout_weight="1"
            android:layout_width="300dp"
            android:layout_height="120dp"

            android:background="@drawable/img3" />

        </LinearLayout>
        ...
 </RelativeLayout>

2 个答案:

答案 0 :(得分:1)

将图像放在另一个垂直的线性布局中,并将该布局放置在主布局内,并将该布局用于此线性布局而不是图像

答案 1 :(得分:0)

以下是您的回答,在使用weight时,您必须将0dp定义为高度/宽度,以便根据具体情况进行查看。

您希望Button每个Imageview类似下面的内容吗?

我试过,检查下面的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="25dp"
        android:orientation="vertical"
        android:weightSum="6" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="5dp"
            android:layout_weight="0.5"
            android:text="button first" />

        <ImageView
            android:id="@+id/imgDis"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1.5"
            android:background="@drawable/logo" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="5dp"
            android:layout_weight="0.5"
            android:text="button first" />

        <ImageView
            android:id="@+id/imgCal"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_gravity="right"
            android:layout_marginTop="5dp"
            android:layout_weight="1.5"
            android:background="@drawable/logo"
            android:paddingLeft="25dp" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="5dp"
            android:layout_weight="0.5"
            android:text="button first" />

        <ImageView
            android:id="@+id/imgDe"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1.5"
            android:background="@drawable/logo" />
    </LinearLayout>

</RelativeLayout>