在Listview上向上滚动隐藏动作栏

时间:2014-10-28 13:33:23

标签: android android-listview android-actionbar

如果我在列表视图中滚动,我想隐藏动作栏。这看起来应该像Android Lollipop上的新Play商店应用。 如果我使用getActionBar()。hide()动作栏隐藏动画,但我想向上滚动Actiobar。

这是如何运作的?

修改

我发现ActionBar可以在API Level 21中自动隐藏:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    setContentView(R.layout.activity_main);
    m_lvTest = (ListView)findViewById(R.id.lvTest);
    ArrayList<String> values = new ArrayList<String>();
    for (int i = 0; i < 100; i++) {
        values.add(i+" Item");
    }
    CustomAdapter adapter = new CustomAdapter(this, R.id.lvTest, values);
    m_lvTest.setAdapter(adapter);
    m_lvTest.setNestedScrollingEnabled(true);

    getActionBar().setHideOnContentScrollEnabled(true);
}

但它不滚动。它动起来了。

3 个答案:

答案 0 :(得分:0)

有一种方法称为&#39; setHideOnContentScrollEnabled(boolean)&#39; ActionBar 启用隐藏内容滚动上的操作栏。如果启用,操作栏将滚动显示,同时嵌套滚动子视图的内容。操作栏必须处于叠加模式才能隐藏内容滚动。当部分滚动屏幕时,操作栏被视为隐藏。对show的调用将使其返回完整视图。 我认为您可以尝试使用自己的代码。

答案 1 :(得分:0)

正如Zenco发现的那样,对于Google Play商店来说,请尝试...

  • 尝试在Lollipop(API Level 21)中引入的this新工具栏小部件
  • 在早期版本的android中,this api也支持这一点。
  • This Android开发者博客提供了有关如何使用它的内幕。

答案 2 :(得分:-1)

请按照以下步骤解决您的问题

- &GT;导入此包

import android.annotation.SuppressLint;

- &GT;将此行放在onCreate()方法

上面

@SuppressLint( “NewApi”)

- &GT;将此行放在onCreate()方法

getActionBar()隐藏();