Android相对布局位置

时间:2017-03-10 13:53:56

标签: android relativelayout

我正在尝试安排此布局,以便textview位于imageView7的顶部,但应用程序会因错误而崩溃:

  

java.lang.UnsupportedOperationException:无法转换为维度:type = 0x12

任何有助于解决此问题的帮助

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.mattblack.fibreapp.offers"
    android:background="#000000">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="230dp"
        android:id="@+id/imageView6"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:src="@drawable/mainimage"
        android:scaleType="fitXY" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_below="@+id/imageView6"
        android:layout_centerHorizontal="true"
        android:background="#000000"
        android:id="@+id/frameLayout7">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Todays Offers"
            android:id="@+id/textView9"
            android:layout_gravity="center"
            android:textColor="#ffffff"
            android:textSize="40sp" />
    </FrameLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:background="#ffffff"
        android:layout_gravity="bottom"
        android:id="@+id/frameLayout8"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/home"
            android:id="@+id/button13"
            android:layout_gravity="left|center_vertical"
            android:background="#ffffff"
            android:onClick="goHome" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/code"
            android:id="@+id/button14"
            android:layout_gravity="right|center_vertical"
            android:background="#ffffff"
            android:onClick="goProfile" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="OFFERS"
            android:id="@+id/button15"
            android:layout_gravity="center"
            android:background="#ffffff"
            android:onClick="showOffers" />
    </FrameLayout>

    <ListView
        android:id="@+id/listViewOffers"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/frameLayout8"
        android:layout_below="@+id/frameLayout7"
        android:background="@color/cardview_light_background"
        android:scrollbars="none"
        android:textAlignment="center"
        android:visibility="visible" />

    <FrameLayout
        android:id="@+id/offerBoxView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="visible">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:alpha="0.7"
            android:background="@android:color/black">

        </FrameLayout>

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="336dp"
            android:layout_height="365dp"
            android:layout_gravity="center_vertical|center_horizontal"
            android:visibility="visible"
            app:srcCompat="@drawable/boxaffiliates" />

        <TextView
            android:id="@+id/textView11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            android:layout_marginTop="@+id/imageView7"
            />


    </FrameLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

您的textview11具有错误的marginTop值会给出您给出其他ID的ID的维度             机器人:layout_marginTop = “70DP” 像这样

答案 1 :(得分:1)

您的错误可能是由此行引起的:

android:layout_marginTop="@+id/imageView7"

为了实现所需的功能,您可以使用LinearLayout。将imageView7和textView11放在具有垂直重力的LinearLayout中。

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

    <TextView
        android:id="@+id/textView11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"/>

    <ImageView
        android:id="@+id/imageView7"
        android:layout_width="336dp"
        android:layout_height="365dp"
        android:layout_gravity="center_vertical|center_horizontal"
        android:visibility="visible"
        app:srcCompat="@drawable/boxaffiliates" />

</LinearLayout>

RelativeLayout使用属性layout_below

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

    <TextView
        android:id="@+id/textView11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"/>

    <ImageView
        android:id="@+id/imageView7"
        android:layout_width="336dp"
        android:layout_height="365dp"
        android:layout_gravity="center_vertical|center_horizontal"
        android:visibility="visible"
        android:layout_below="@id/textView11"
        app:srcCompat="@drawable/boxaffiliates" />

</RelativeLayout>