gpt4 book ai didi

Android NavigationDrawer 在打开和关闭时滞后

转载 作者:行者123 更新时间:2023-11-29 17:41:23 29 4
gpt4 key购买 nike

我有 NavigationDrawer Activity 。当我单击 ActionBar 中的图标时,NavigationBar 打开,但有滞后。与关闭相同。我使用了本教程:https://www.youtube.com/watch?v=6f6sbtgd6v0如何消除滞后?

    drawerListener = new ActionBarDrawerToggle(this, drawerLayout, R.string.drawer_open, R.string.drawer_close)
{
@Override
public void onDrawerClosed(View drawerView)
{
super.onDrawerClosed(drawerView);
}

@Override
public void onDrawerOpened(View drawerView)
{
super.onDrawerOpened(drawerView);
}
};

lvMenu.setOnItemClickListener(this);
lvMenu.setAdapter(menuAdapter);
drawerLayout.setScrimColor(Color.TRANSPARENT);
drawerLayout.setDrawerListener(drawerListener);

drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
return drawerListener.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);
}

@Override
protected void onPostCreate(Bundle savedInstanceState)
{
super.onPostCreate(savedInstanceState);
drawerListener.syncState();
}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
lvMenu.setItemChecked(position, true);
}

最佳答案

我和我的团队都面临着抽屉导航滞后的问题。在一半的屏幕上表现良好,但在另一半上它一直落后。结果表明,在某些情况下,ViewRoorImpl.performTraversals() 调用了 performLayout(),这会降低性能。

为了解决这个问题,我们为抽屉导航的 android:layout_widthandroid:layout_height 属性分配了常量 值,即。

android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"

您可能还想在 AndroidManifest.xml 中对 Activity 启用硬件加速

<activity
android:name=".ui.SomeActivity"
android:hardwareAccelerated="true" />

关于Android NavigationDrawer 在打开和关闭时滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28656643/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com