Android View.GONE在极少数情况下无法正常使用

时间:2018-03-06 12:27:18

标签: android views

我一直在查看我正在处理的与views visible有关fragment的应用中存在的问题,我不知道是否有人见过类似的内容。

我从viewPager查看了fragmentbase layout有一个button,在该基本布局中,我包含一个横幅样式区域,其中包含一些信息,一个GONE,布局默认为XML中的<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:animateLayoutChanges="true" > <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/usage_swipe_container" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:animateLayoutChanges="true" android:layout_height="match_parent"> <ScrollView android:id="@+id/usage_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:animateLayoutChanges="true" android:background="@color/background_colour"> <include layout="@layout/layout_in_question" android:id="@+id/layout_in_question_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone"/> .... Normal Stuff in layout </ScrollView> </android.support.v4.widget.SwipeRefreshLayout> </RelativeLayout> ,就像这样。

VISIBLE

在非常精选的情况下,此视图仅设置为percentage。然而,有些用户基于服务器调用的响应在这些情况之外看到它,它是非常低android的用户,当他们不应该(在0.001%的区域内)看到它时,服务器团队坚持不是他们所以我试图确定是否有任何已知的"hacks"问题或API 15允许这类事情。该应用支持libs 25.3.0及以上,我们目前正在使用支持developer options

之前有没有人见过这样的行为?在"show all views"或Modded OS允许的某些设备上有private View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setupBanner(); } /** * OTTO event based on server response */ @Subscribe public void receiveEvent(BannerEvent event) { setupBanner(); } public void setupBanner() { runOnUiThread(new Runnable() { @Override public void run() { if (shouldShowBanner()) { findViewById(R.id.layout_in_question_id).setVisibility(View.VISIBLE); } } }); } 吗?

编辑:虽然由于NDA我无法共享完整的代码段,但我有2个位置可以启用视图,两者都调用相同的方法。

ionic serve

shouldShowBanner返回一个布尔值,该值为true / false,具体取决于服务器响应的内容。

0 个答案:

没有答案