Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 分组视图而不将其放置在视图组中_Android_Android Layout_Optimization_Viewgroup - Fatal编程技术网

Android 分组视图而不将其放置在视图组中

Android 分组视图而不将其放置在视图组中,android,android-layout,optimization,viewgroup,Android,Android Layout,Optimization,Viewgroup,如果代码必须同时处理多个视图,而不将所有视图放在某种视图组中,从而增加布局的复杂性,那么有没有清理这些代码的技巧? 在Android中嵌套布局的性能代价很高,但有时它对清理代码很有价值。例如,如果我们有这样一个伪布局: <RelativeLayout> <View id=A> <View id=B> <View id=C> <View id=D> </RelativeLayout> <

如果代码必须同时处理多个视图,而不将所有视图放在某种视图组中,从而增加布局的复杂性,那么有没有清理这些代码的技巧?

在Android中嵌套布局的性能代价很高,但有时它对清理代码很有价值。例如,如果我们有这样一个伪布局:

<RelativeLayout>
    <View id=A>
    <View id=B>

    <View id=C>
    <View id=D>
</RelativeLayout>
<RelativeLayout>
    <LinearLayout id=groupA>
        <View id=A>
        <View id=B>
    </LinearLayout>

    <LinearLayout id=groupB>
        <View id=C>
        <View id=D>
    </LinearLayout>
</RelativeLayout>

如果我们希望始终同时显示/隐藏A和B以及C和D,最好重新设计布局:

<RelativeLayout>
    <View id=A>
    <View id=B>

    <View id=C>
    <View id=D>
</RelativeLayout>
<RelativeLayout>
    <LinearLayout id=groupA>
        <View id=A>
        <View id=B>
    </LinearLayout>

    <LinearLayout id=groupB>
        <View id=C>
        <View id=D>
    </LinearLayout>
</RelativeLayout>

通过这种方式,我们可以调用
groupA.setVisibility()
,而不是调用
A.setVisibility()和
B.setVisibility()
!这显然对包含更多元素的布局更有用,但是。。。你明白了