gpt4 book ai didi

java - 使用 SupportActionbar 隐藏选项卡的动画

转载 作者:太空狗 更新时间:2023-10-29 14:17:07 32 4
gpt4 key购买 nike

我已经按照说明在我的应用程序中实现了一个抽屉导航 in the android documentation.

一切正常,但由于我的一些 fragment 正在使用选项卡,我想在展开抽屉时同时“滚动”tabviews。如此处所示:Like illustrated here.我的 actionBarToggle 中的 onDrawerSlide() 方法非常适合它,因为它传递了抽屉展开的百分比。

我在 actionBarToggleonDrawerOpened()onDrawerClosed() 方法中更改了操作栏的导航模式,一切正常。但我想要某种动画,因为它现在看起来非常粗鲁。[抽屉打开 - puff 标签不见了 puff;抽屉关闭 - puff 选项卡又出现了 puff]

我当前的代码。

    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle =
new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer,
R.string.navigation, R.string.closed) {

public void onDrawerClosed(View view) {
supportInvalidateOptionsMenu();
}

public void onDrawerOpened(View drawerView) {
setTitle(getString(R.string.navigation));
setIcon(R.drawable.abc_ic_search_api_holo_light);

supportInvalidateOptionsMenu();
}

@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
// TODO animation
super.onDrawerSlide(drawerView, slideOffset);
}
};

我希望得到 tabhost/view 或其他东西,并根据 slideOffset 设置它的高度。

                @Override
public void onDrawerSlide(View drawerView, float slideOffset) {
TabView tabView = actionBar.getTabView(); // how do I get the view where the tabs are shown?
ViewGroup.LayoutParams tabViewLayoutParams = tabView.getLayoutParams();
ViewGroup.LayoutParams tabViewNewLayoutParams = new ViewGroup.LayoutParams(a.width, (int)((1 - slideOffset) * normalTabHeight))
drawer.setLayoutParams(tabViewNewLayoutParams );

super.onDrawerSlide(drawerView, slideOffset);
}

如何获取选项卡所在的 View

How can I get the view where the tabs are in?

我正在使用 API 7+ 的支持库,因此使用 SupportActionBar

调用的“tabhost”是如何包含在actionbar中的?甚至有可能获得这个“tabview/host”并在运行时以编程方式更改它的高度吗?

最佳答案

问题是操作栏选项卡容器执行它自己的高度测量,因此为其 LayoutParams 分配自定义高度对其布局没有影响。 一个公共(public)方法来改变它的高度,但容器类本身没有被框架公开。

改变它的高度而不使用反射的唯一方法是改变支持库以使用它自己的实现,即使在后 Honeycomb 设备中而不是委托(delegate)给框架,并且可能在选项卡容器中添加一个隐藏的方法类似于抽屉导航的滚动动画。或者您可以使用自己的选项卡实现,可能会从操作栏复制代码。

如果您不需要回收布局中的制表符空间,另一种可能性是使用淡入淡出动画。

关于java - 使用 SupportActionbar 隐藏选项卡的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20920702/

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