RelativeLayout在Android 6

时间:2016-10-17 13:44:43

标签: android android-layout relativelayout

我有2个设备:华硕Zenfone 2(6.0.1)和Galaxy Note 3(5.0) 在我的应用程序中,我拍照并在下一个屏幕上我在ImageView上显示它并在其上添加一些信息。这是xml布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:keepScreenOn="true"
    android:background="@android:color/black">

    <LinearLayout
        android:id="@+id/preview_buttons"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="visible"
        android:background="@android:color/black">
        <TextView
            android:id="@+id/tv_cancel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:paddingTop="8dp"
            android:paddingBottom="8dp"
            android:textSize="16sp"
            android:text="CANCEL"/>
        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@android:color/darker_gray"/>
        <TextView
            android:id="@+id/tv_accept"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:paddingTop="8dp"
            android:paddingBottom="8dp"
            android:textSize="16sp"
            android:text="ACCEPT"/>
    </LinearLayout>

    <RelativeLayout
        android:id="@+id/preview_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:background="@android:color/holo_blue_bright"
        android:layout_above="@id/preview_buttons">
        <ImageView
            android:id="@+id/image_preview"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:scaleType="fitCenter"
            />
        <TextView
            android:id="@+id/preview_top_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingRight="16dp"
            android:paddingTop="8dp"
            android:paddingBottom="8dp"
            android:layout_alignRight="@id/image_preview"
            android:layout_alignTop="@id/image_preview"
            android:gravity="right"
            android:background="@drawable/top_text_background"
            android:textSize="16sp"
            android:textColor="@android:color/white"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            android:layout_marginBottom="8dp"
            android:layout_alignLeft="@id/image_preview"
            android:layout_alignBottom="@id/image_preview"
            android:src="@drawable/ic_verified_grey600"/>

        <TextView
            android:id="@+id/preview_bottom_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingRight="16dp"
            android:paddingBottom="8dp"
            android:paddingTop="8dp"
            android:layout_alignRight="@id/image_preview"
            android:layout_alignBottom="@id/image_preview"
            android:gravity="right"
            android:background="@drawable/bottom_text_background"
            android:textSize="16sp"
            android:textColor="@android:color/white"/>
    </RelativeLayout>

</RelativeLayout>

UPD。我对RelativeLayout&#34; preview_container&#34;

有问题

如果ImageView的宽度不能填满整个屏幕并位于屏幕中心,我希望它的宽度可以换行。它在GN3上工作得很好,但在我的AZ2上,我在右侧获得了空间(没有插入图像的声誉,它在这里http://i.imgur.com/cSujbAp.png

UPD2。我的期望:RelativeLayout正确包装,所以我没有看到背景。我的GN3示例(http://i.imgur.com/vKGQq8r.jpg)。透明背景也无法提供帮助,因为之后我需要绘制此布局的缓存并使用它

我知道有关alignParent的问题,但我现在没有使用它,而且我的额外视图也是正确的。 请帮帮我,有什么不对?

2 个答案:

答案 0 :(得分:0)

您的preview_top_text的宽度设置为match_parent,这意味着,由于她的容器与图片相同,因此它将延伸以包含textview,而不仅仅是{{1 }}

imageview参数添加到android:layout_centerHorizontal="true",它应居中。

希望有所帮助

更新要点2

两种可能性:

  • imageview的尺寸更改为TextViews
  • 将第二个wrap_content的背景更改为relativelayout

答案 1 :(得分:0)

 observableLength = document.length

android:layout_height =&#34; match_parent&#34; 不应该是 match_parent