如何始终隐藏视图

Posted

技术标签:

【中文标题】如何始终隐藏视图【英文标题】:How to hide views for always 【发布时间】:2017-07-07 04:44:28 【问题描述】:

谁能告诉我如何永远隐藏视图?

我使用view.setVisibility(view.GONE); 隐藏了一个视图,但是当重新打开应用程序时,我必须重新隐藏该视图。我希望在单击按钮时始终隐藏视图,直到清除应用程序数据或卸载。谢谢!

【问题讨论】:

添加您的代码,以便我尝试解决您的问题。 您当前的方法可能是您必须使用的让按钮切换视图的方法。您还可以从可能有用的布局 XML 中设置可见性。 【参考方案1】:

您需要通过在SharedPreference 中创建隐藏和取消隐藏视图的标志来保存状态,并且基于该标志您需要 GONE 或 VISIBLE View。

【讨论】:

【参考方案2】:

你必须使用SharedPreferences,当你隐藏View然后在SharedPreferences中存储一个值,当你回到应用程序时从SharedPreferences获取值并根据该值隐藏你的@987654326 @ 通过您使用的相同方法。

SharedPreferences sp = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
SharedPreferences.Editor et = sp.edit();
et.putBoolean("isViewHide", true);
et.commit();

从 SharedPreferences 中获取价值

SharedPreferences sp = getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);
boolean cb1 = sp.getBoolean("isViewHide", false);

来自SharedPreferences example的参考

【讨论】:

【参考方案3】:

没有永久隐藏的选项,但你可以通过这种方式实现

1.删除具体的view by

parent.removeViewAt(index);

parent.removeView(view);

    您必须将状态保存到show/hide view 上的永久存储中,例如

    共享偏好/数据库

共享偏好示例

1.将值存储在sharedPrefernces:

SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("storevalue", false);
editor.commit();

2.从sharedPreferences获取值:

SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
preferences.getBoolean("storevalue", false);

if(preferences.getBoolean("storevalue", false))

view.setVisibility(View.VISIBLE);

else
view.setVisibility(View.GONE);

【讨论】:

你能告诉我如何使用'SharedPreference'和'.setVisibility' 你能举个例子,用按钮点击'view.setVisibility(view.GONE);' button.setOnClickListener(new View.OnClickListener() @Override public void onClick(View v) imageview.setVisibility(View.GONE); SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context .MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean("storevalue", true); editor.commit(); ); 您还必须在 create 上签入,以便下一次可见/消失。【参考方案4】:

您当前的方法是编程方法,如果您想要一个按钮来切换视图的可见性,您可能必须使用这种方法。我知道的唯一其他选择是禁用 XML 布局文件的可见性:

<TextView
    android:visibility="gone"
    ... />

【讨论】:

以上是关于如何始终隐藏视图的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏键盘助手栏

如何在双击中隐藏文本选择工具菜单?

侧边栏始终隐藏在 HTML5UP 序言/Skeljs 框架中

在主页面显示/隐藏部分视图

如何隐藏 Qt 小部件应用程序菜单栏?

显示键盘时如何隐藏cupertinoTabBar?或者如何让键盘覆盖酒吧?还是将标签栏始终保持在底部?