无论方向如何,都要维护RelativeLayout

时间:2018-02-11 13:59:05

标签: android xml layout orientation

我不确定我做错了什么。垂直视图正是我想要的,但水平视图变得扭曲。如何强制ImageView尊重第一个TextView下面的对齐?

Vertical view

Horizontal view

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.admin.firstcard.MainActivity">

<TextView
    android:id="@+id/firstLine"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="It's been a..."
    android:fontFamily="cursive"
    android:textSize="40sp"
    android:layout_alignParentTop="true"
    android:layout_margin="5dp" />

<ImageView
    android:id="@+id/dachshund"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:src="@drawable/dachshund"
    android:layout_below="@id/firstLine"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@id/dachshund"
    android:layout_alignParentRight="true"
    android:fontFamily="cursive"
    android:text="longgggggggggggg week"
    android:textSize="40sp"
    android:layout_margin="5dp" />

</RelativeLayout>

编辑:重新阅读我在alignBottom发现的Android文档是不正确的属性。

2 个答案:

答案 0 :(得分:0)

我认为您的主要问题是您的父级布局的高度和宽度都设置为&#34; match_parent&#34;。这意味着您的整个视图仅限于设备屏幕的大小,因此一切都被挤进去。尝试将高度设置为&#34; wrap_content&#34;然后应该尊重对齐。

答案 1 :(得分:0)

如果出现进一步的错误,这将解决您的需求。如果没有成功,可以使用线性铺设获得最佳效果

<?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">

    <TextView
        android:id="@+id/firstLine"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_margin="5dp"
        android:fontFamily="cursive"
        android:text="It's been a..."
        android:textSize="40sp" />

    <ImageView
        android:id="@+id/dachshund"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/firstLine"
        android:src="@drawable/ic_word" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/dachshund"
        android:layout_margin="5dp"
        android:fontFamily="cursive"
        android:text="longgggggggggggg week"
        android:textSize="40sp" />

</RelativeLayout>