gpt4 book ai didi

android - 打开抽屉导航时使 fragment 可点击

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:22 27 4
gpt4 key购买 nike

我的问题如下:我在平板电脑的横向模式下锁定了抽屉导航菜单 setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN),但我需要右侧的 fragment 处于 Activity 状态,所以我可以在导航始终打开的情况下单击它。但我不知道该怎么做。请帮忙。

Screenshot

最佳答案

您需要做一些事情:

  1. 通过设置透明颜色禁用布局淡入淡出:

    drawer.setScrimColor(Color.TRANSPARENT);
  2. 锁上抽屉

    drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
  3. 创建一个自定义抽屉类,允许在锁定模式下点击:

    public class CustomDrawer extends DrawerLayout {

    public CustomDrawer(Context context) {
    super(context);
    }

    public CustomDrawer(Context context, AttributeSet attrs) {
    super(context, attrs);
    }

    public CustomDrawer(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
    View drawer = getChildAt(1);

    if (getDrawerLockMode(drawer) == LOCK_MODE_LOCKED_OPEN && ev.getRawX() > drawer.getWidth()) {
    return false;
    } else {
    return super.onInterceptTouchEvent(ev);
    }
    }

    }
  4. 在xml中使用这个类:

    <com.example.myapplication.CustomDrawer
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    </FrameLayout>
    <ListView android:layout_width="100dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#111"/>
    </com.example.myapplication.CustomDrawer>

关于android - 打开抽屉导航时使 fragment 可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486385/

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