java – 禁用布局中的所有子视图
发布时间:2020-12-14 16:38:23 所属栏目:Java 来源:网络整理
导读:在发布我的问题之前,我看到许多与此有关的线程.但没有一个为我工作.我有一个RelativeLayout与许多其他布局和碎片作为孩子.我想禁用“content_view”的所有子项以及按钮点击的content_view本身.我试过了 contentView.setDisabled(false); 这没有办法.我也试过
在发布我的问题之前,我看到许多与此有关的线程.但没有一个为我工作.我有一个RelativeLayout与许多其他布局和碎片作为孩子.我想禁用“content_view”的所有子项以及按钮点击的content_view本身.我试过了
contentView.setDisabled(false); 这没有办法.我也试过 for (int i = 0; i < layout.getChildCount(); i++) { View child = layout.getChildAt(i); child.setEnabled(false); } 即使这样也不行.我究竟做错了什么?请在下面找到我的.xml代码. <RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" android:id="@+id/content_view" android:background="#ffffff"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/channel_actionbar" android:layout_marginLeft="0dp" android:layout_marginTop="0dp" android:duplicateParentState="true"> <FrameLayout android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/body_container" android:layout_below="@+id/channel_actionbar" android:duplicateParentState="true"> <RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/channelList" android:duplicateParentState="true"> <com.mobile.subview.ScrollViewWithScrollListener android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/scrollView" android:layout_alignParentTop="false" android:duplicateParentState="true"> <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:duplicateParentState="true"> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/imagePlaceHolder" android:duplicateParentState="true"></FrameLayout> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/channelTable" android:layout_below="@+id/imagePlaceHolder" android:duplicateParentState="true"></TableLayout> <com.mobile.subview.CustomTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="You do not qualify for any engagements or channels. Please check back later." app:typeface="fonts/HelveticaNeue" app:customStyle="Regular" android:id="@+id/noChannelsMessage" android:textColor="#000" android:textSize="@dimen/contentTextSize" android:visibility="gone" android:duplicateParentState="true"/> </RelativeLayout> </com.mobile.subview.ScrollViewWithScrollListener> <com.mobile.subview.ParallaxImage android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/header" android:adjustViewBounds="true" android:layout_alignParentTop="true" android:scaleType="fitStart" android:visibility="invisible" android:duplicateParentState="true"/> </RelativeLayout> <RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" android:layout_below="@+id/channel_actionbar" android:id="@+id/sibling_view" android:visibility="gone" android:duplicateParentState="true"></RelativeLayout> </FrameLayout> </LinearLayout> <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:visibility="invisible" android:id="@+id/retailersContainer" android:layout_marginLeft="0dp" android:duplicateParentState="true" android:layout_below="@+id/channel_actionbar"> <fragment android:layout_width="fill_parent" android:layout_height="wrap_content" android:name="com.mobile.subview.List" android:id="@+id/retailers" android:duplicateParentState="true"/> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/retailers" android:id="@+id/retailerClickBlocker" android:duplicateParentState="true"></FrameLayout> </RelativeLayout> <RelativeLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="@dimen/actionBarHeight" android:layout_alignParentTop="true" android:id="@+id/channel_actionbar" android:background="#F8F8F8" android:layout_marginLeft="0dp" android:duplicateParentState="true"> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/shared_navmenu_button" android:id="@+id/show_menu_button" android:layout_centerVertical="true" android:background="@null" android:scaleType="fitCenter" android:layout_marginLeft='5px' android:duplicateParentState="true"/> <com.mobile.subview.CustomTextView android:id="@+id/channel_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:textSize="@dimen/titleTextSize" android:textColor="#000" android:text="Test Title" app:typeface="fonts/HelveticaNeue" app:customStyle="Medium" android:visibility="gone" android:duplicateParentState="true"/> <ImageView android:id="@+id/logo" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_centerInParent="true" android:src="@drawable/shared_navbar_logo2x" android:visibility="gone" android:scaleType="fitCenter" android:duplicateParentState="true"/> <com.mobile.subview.CustomButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:id="@+id/channel_done_btn" app:typeface="fonts/HelveticaNeue" app:customStyle="Regular" android:visibility="gone" android:duplicateParentState="true"/> <com.mobile.subview.CustomButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" app:typeface="fonts/HelveticaNeue" app:customStyle="Regular" android:id="@+id/channel_share_btn" android:visibility="gone" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="1dp" android:background="#D6D6D6" android:id="@+id/divider" android:layout_alignParentBottom="true" android:duplicateParentState="true"/> </RelativeLayout> <View android:visibility="gone" android:id="@+id/click_preventing_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#66000000" android:clickable="false" /> </RelativeLayout> 解决方法
因为您的布局非常嵌套,您需要递归地禁用视图.而不是使用你的方法,尝试这样的:
private static void disable(ViewGroup layout) { layout.setEnabled(false); for (int i = 0; i < layout.getChildCount(); i++) { View child = layout.getChildAt(i); if (child instanceof ViewGroup) { disable((ViewGroup) child); } else { child.setEnabled(false); } } } 然后打电话: disable(content_view); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 可以在switch语句中使用throw而不是break吗?
- java – 为什么HashMap在索引(n-1)和hash上插入新的Node?
- java – Android如何将String数组设置为单个textview
- java – 缺少第三方库阻止您使用Scala?
- java – Jasper Reports:子报告导致无限循环
- JSP Request.getServerName()方法:获取服务器的名字
- Java Selenium 笔记
- java switch实例
- CommonJs 和 Nodejs 中自定义模块 (3)
- 详解使用spring boot admin监控spring cloud应用程序