今天使用Scrollview 和HorizontalScrollview 嵌套显示时,使用如下布局:
-
<?xml version=“1.0” encoding=“utf-8”?>
-
<ScrollView xmlns:android=“http://schemas.android.com/apk/res/android”
-
android:layout_width=
“fill_parent”
-
android:layout_height=
“wrap_content” >
-
-
<HorizontalScrollView
-
android:layout_width=
“fill_parent”
-
android:layout_height=
“wrap_content” >
-
-
<RelativeLayout
-
android:layout_width=
“fill_parent”
-
android:layout_height=
“fill_parent”>
-
-
<TextView
-
android:id=
“@+id/textview1”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:text=
“滚动视图”
-
android:textSize=
“30dp” />
-
-
<ImageView
-
android:id=
“@+id/imageview1”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:layout_toRightOf=
“@id/textview1”
-
android:src=
“@drawable/item1” />
-
-
<TextView
-
android:id=
“@+id/textview2”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:layout_toRightOf=
“@id/imageview1”
-
android:text=
“垂直和水平滚动”
-
android:textSize=
“30dp” />
-
-
<ImageView
-
<
span
style=
“color:#ff6666;”>android:id=”@+id/imageview2”
-
</span> android:layout_width=”wrap_content”
-
android:layout_height=”wrap_content”
-
android:layout_below=”@id/textview1”
-
android:src=”@drawable/item2” />
-
-
<TextView
-
android:id=
“@+id/textview3”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:layout_below=
“@id/imageview2”
-
android:text=
“垂直和水平滚动”
-
android:textSize=
“30dp” />
-
-
<ImageView
-
<
span
style=
“color:#ff6666;”> android:id=”@+id/imageview2”
</span>
-
android:layout_width=”wrap_content”
-
android:layout_height=”wrap_content”
-
android:layout_below=”@id/textview3”
-
android:src=”@drawable/item3” />
-
</RelativeLayout>
-
</HorizontalScrollView>
-
-
</ScrollView>
爆出了这样的异常,java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout。
原因就是在RelativeLayout布局中重现了重复的view ID名称,且出现 imageview2 ,textview3,imageview2出现了循环依赖。
解决方案: 将最后一个ImageView的id修改成 imageview3. 避免在RelativeLayout中控件循环依赖。
今天使用Scrollview 和HorizontalScrollview 嵌套显示时,使用如下布局:
扫描二维码关注公众号,回复:
3008588 查看本文章
-
<?xml version=“1.0” encoding=“utf-8”?>
-
<ScrollView xmlns:android=“http://schemas.android.com/apk/res/android”
-
android:layout_width=
“fill_parent”
-
android:layout_height=
“wrap_content” >
-
-
<HorizontalScrollView
-
android:layout_width=
“fill_parent”
-
android:layout_height=
“wrap_content” >
-
-
<RelativeLayout
-
android:layout_width=
“fill_parent”
-
android:layout_height=
“fill_parent”>
-
-
<TextView
-
android:id=
“@+id/textview1”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:text=
“滚动视图”
-
android:textSize=
“30dp” />
-
-
<ImageView
-
android:id=
“@+id/imageview1”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:layout_toRightOf=
“@id/textview1”
-
android:src=
“@drawable/item1” />
-
-
<TextView
-
android:id=
“@+id/textview2”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:layout_toRightOf=
“@id/imageview1”
-
android:text=
“垂直和水平滚动”
-
android:textSize=
“30dp” />
-
-
<ImageView
-
<
span
style=
“color:#ff6666;”>android:id=”@+id/imageview2”
-
</span> android:layout_width=”wrap_content”
-
android:layout_height=”wrap_content”
-
android:layout_below=”@id/textview1”
-
android:src=”@drawable/item2” />
-
-
<TextView
-
android:id=
“@+id/textview3”
-
android:layout_width=
“wrap_content”
-
android:layout_height=
“wrap_content”
-
android:layout_below=
“@id/imageview2”
-
android:text=
“垂直和水平滚动”
-
android:textSize=
“30dp” />
-
-
<ImageView
-
<
span
style=
“color:#ff6666;”> android:id=”@+id/imageview2”
</span>
-
android:layout_width=”wrap_content”
-
android:layout_height=”wrap_content”
-
android:layout_below=”@id/textview3”
-
android:src=”@drawable/item3” />
-
</RelativeLayout>
-
</HorizontalScrollView>
-
-
</ScrollView>
爆出了这样的异常,java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout。
原因就是在RelativeLayout布局中重现了重复的view ID名称,且出现 imageview2 ,textview3,imageview2出现了循环依赖。
解决方案: 将最后一个ImageView的id修改成 imageview3. 避免在RelativeLayout中控件循环依赖。