【问题标题】:Show/hide listview显示/隐藏列表视图
【发布时间】:2013-09-06 05:08:27
【问题描述】:

我在我的活动中使用列表视图。现在我需要在特定时间段内隐藏列表视图,并且 然后它需要显示。它类似于我们的视频播放器,其中搜索栏会自动隐藏并且 当用户触摸它时,我需要在我的活动中实现类似的显示。而不是 seekbar 我 需要从屏幕上隐藏我的列表视图。只需在替代触摸中显示/隐藏列表视图。我是新手。所以指导我实现这一目标。提前致谢。

【问题讨论】:

    标签: android android-listview android-animation


    【解决方案1】:

    不确定您到底想要什么,但要在 Android 中隐藏任何视图,只需设置可见性 :)

    listview.setVisibility(View.GONE);
    

    或 View.INVISIBLE,如果您希望视图仍然占据屏幕空间

    listview.setVisibility(View.INVISIBLE);
    

    让它回来

    listview.setVisibility(View.VISIBLE);
    

    【讨论】:

    • 我需要实现的是在播放视频时,我们的搜索栏会自动隐藏,当我们触摸它时会显示 na,就像我想显示我的列表视图一样。我的问题现在清楚了吗
    • 你可以像那样隐藏列表项,但是隐藏和显示列表视图有点困难!!相反你可以使用切换按钮..
    【解决方案2】:

    你有一些像视频播放器的播放视图一样的视图。

    View alwaysAppearingView;
    

    你有你的 listView,你想在延迟后自动隐藏它。

    ListView listView;
    

    让我们为 alwaysAppearingView 实现 OnTouchListener;

      alwaysAppearingView.setOnTouchListener(new View.OnTouchListener() {
      @Override
      public boolean onTouch(View view, MotionEvent motionEvent) {
        listView.setVisibility(View.VISIBLE);
        listView.postDelayed(new Runnable() {
          @Override
          public void run() {
            listView.setVisibility(View.GONE); // or View.INVISIBLE as Jason Leung wrote
          }
        }, 3000);
        return true;
      }
      });
    

    您正在检查每次触摸,当触摸时,您使 listView 可见,如果您在 3000 毫秒(3 秒)内没有触摸,则 listView 正在消失。 试试看。

    【讨论】:

    • 感谢您的回复。我试过这段代码,它显示空指针异常。
    • 您的项目中有 xml 布局。您应该使用视图 ID 使用布局中的视图初始化 alwaysAppearingView。看起来像 alwaysAppearingView = findViewById(R.id.always_appearing_view); 将此代码添加到您的 Activity 的 onCreate 方法中,并确保 xml android:id="@+id/always_appearing_view" 中的 ID 与您在 R.id.always_appearing_view 中编写的相同。您也必须初始化 listView 。如果主视图和onCreate方法写xml代码,我可以回答的更详细。
    猜你喜欢
    • 2015-12-24
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多