RelativeLayout android中不存在循环依赖

时间:2014-11-15 11:40:24

标签: android xml layout

我正在设计一个包含自定义视图的布局。

我只是想在布局中的现有视图中添加额外的imageview(@ + id / list_footer_image),但它会突然抛出Circular dependencie错误。

我无法弄清楚出现此错误的行。

<?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"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/lay_top"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:orientation="vertical" >

        <com.rb.library.ScrollingTextView
            android:id="@+id/txtTicker"
            style="@style/style_bottom_marque"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:visibility="gone"
            app:typeface="roboto_condensed" />

        <include
            android:id="@+id/pan_breaking_new"
            layout="@layout/breaking_news" />
    </LinearLayout>

    <View
        android:id="@+id/view1"
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_below="@+id/lay_top"
        android:background="#ccc"
        android:paddingTop="2dip" />

    <com.devspark.robototextview.widget.RobotoTextView
        android:id="@+id/txt_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/view1"
        android:layout_gravity="fill_horizontal"
        android:drawableRight="@drawable/ic_title_arrow"
        android:gravity="left|center_vertical"
        android:inputType="textCapWords"
        android:padding="5dip"
        android:text="@string/TITLE_TOP_NEWS"
        app:typeface="roboto_black" android:visibility="gone"/>

    <View
        android:id="@+id/view2"
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_below="@+id/txt_title"
        android:background="#ccc" />

    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/list_footer_image"
        android:layout_below="@+id/view2"
        android:layout_margin="2dip"
        android:layout_marginBottom="0dp"
        android:layout_marginTop="0dp"
        android:divider="#cccccc"
        android:dividerHeight="1dp" />



    <ImageView
            android:id="@+id/list_footer_image"
            android:layout_width="fill_parent"
            android:layout_height="150dip"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:src="@drawable/no_image" 
            android:layout_above="@+id/progressBar1"
            android:layout_below="@+id/listView"
            android:visibility="visible"/>



    <com.devspark.robototextview.widget.RobotoTextView
        android:id="@+id/main_error"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_gravity="fill_horizontal"
        android:gravity="center_horizontal"
        android:padding="20dip"
        android:text="@string/INTERNET_ERR"
        android:visibility="gone"
        app:typeface="roboto_black" />

    <ImageView
        android:id="@+id/img_error"
        android:layout_below="@+id/main_error"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:gravity="center_horizontal"
        android:contentDescription="Error"
        android:layout_centerInParent="true"
        android:visibility="gone"
        android:src="@drawable/ic_error" />

    <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="25dip"
        android:layout_height="25dip"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:2)

您的问题是:

您正尝试将相对于两个视图对齐:

下面:

<com.handmark.pulltorefresh.library.PullToRefreshListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/list_footer_image"      <!-- listView refers to list_footer_image -->
    android:layout_below="@+id/view2"
    android:layout_margin="2dip"
    android:layout_marginBottom="0dp"
    android:layout_marginTop="0dp"
    android:divider="#cccccc"
    android:dividerHeight="1dp" />



<ImageView
        android:id="@+id/list_footer_image"
        android:layout_width="fill_parent"
        android:layout_height="150dip"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        android:src="@drawable/no_image" 
        android:layout_above="@+id/progressBar1"
        android:layout_below="@+id/listView"    <!--  list_footer_image refers to listview -->
        android:visibility="visible"/>

因此,您的list_footer_imagelistview正在创建此问题。

修复你的布局参考,你应该没问题。

希望这有帮助。