rm *_*-rf 1 android android-layout
我有以下布局:
<!-- section 1 -->
<LinearLayout>
<ImageView/>
<TextView/>
</LinearLayout>
<ViewPager/>
<View/>
<!-- section 2 -->
<LinearLayout>
<ImageView/>
<TextView/>
</LinearLayout>
<ViewPager/>
<View/>
<!-- section 3 -->
<LinearLayout>
<ImageView/>
<TextView/>
</LinearLayout>
<ViewPager/>
<View/>
Run Code Online (Sandbox Code Playgroud)
我给出了这 3 个部分,并试图设置每个部分的可见性。但是如果我尝试设置第 1 部分的可见性,我需要单独设置每个元素(LinearLayout、ViewPager、View)。有没有办法可以对每个部分进行分组,这样我只需要设置一次可见性就可以禁用整个部分?
提前致谢
如果顶层布局是ConstraintLayout,则可以将每个部分的所有视图放入一个组中。设置组的可见性会更改其所有成员的可见性。见Group。
此类控制一组引用小部件的可见性。通过添加到逗号分隔的 id 列表来引用小部件,例如:
<android.support.constraint.Group
android:id="@+id/group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
app:constraint_referenced_ids="button4,button9" />
Run Code Online (Sandbox Code Playgroud)
如果顶级布局不是,ConstraintLayout那么您有几个选择。
单独设置每个部分成员的可见性(试图避免这种情况,但这是一个选项)。您可以设置自己的内部组引用以使其更容易。
将每个部分包装在另一个中,ViewGroup例如FrameLayout. 设置ViewGroup父项的可见性会影响其所有子项的可见性。
-- 第 1 节 --
FrameLayout
LinearLayout
ImageView
TextView
/LinearLayout
ViewPager
View
-- 第 2 节 --
FrameLayout
LinearLayout
ImageView
TextView
/LinearLayout
ViewPager
View
-- 第 3 节 --
FrameLayout
LinearLayout
ImageView
TextView
/LinearLayout
ViewPager
View
当然,ViewGroup可能是LinearLayout,RelativeLayout等等-无论是有道理的。FrameLayout用作示例。e
| 归档时间: |
|
| 查看次数: |
3134 次 |
| 最近记录: |