标签: drawer

如何关闭导航抽屉以使用Back-home-icon按钮?

我也在使用带有搜索栏的操作栏,我需要像Back按钮一样使用ActionBar ico:

在此输入图像描述

但我也在使用导航抽屉......如何解除/隐藏/禁用导航抽屉菜单以使用后退按钮?

我的ActionBar代码:

@Override
public boolean onCreateOptionsMenu(Menu menu){
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);

    this.getSupportActionBar().setDisplayShowCustomEnabled(true);
    this.getSupportActionBar().setDisplayShowTitleEnabled(false);

    this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    this.getSupportActionBar().setHomeButtonEnabled(true);

    LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v;

    if(!searchView){
        v = inflator.inflate(R.layout.action_textview, null);
        ((TextView) v.findViewById(R.id.titleText)).setText(actionTitle);
        menu.getItem(0).setVisible(true);
        menu.getItem(2).setVisible(true);
        mainMenu = menu;

    }else{
        v = inflator.inflate(R.layout.action_searchview, null);
        actionSearch = (EditText) v.findViewById(R.id.searchText);
        actionSearch.setOnEditorActionListener(new OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
                int result = actionId & EditorInfo.IME_MASK_ACTION;
                switch(result) {
                case EditorInfo.IME_ACTION_DONE:
                case EditorInfo.IME_ACTION_NEXT:
                case EditorInfo.IME_ACTION_GO:
                case 0:
                    ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(actionSearch.getWindowToken(), 0);
                    String temp …
Run Code Online (Sandbox Code Playgroud)

navigation android back drawer android-actionbar

8
推荐指数
1
解决办法
7812
查看次数

Android删除导航抽屉上的阴影

看到我的意思

嗨,我正在使用股票导航抽屉v4,我问如何在导航抽屉打开时删除该背景阴影.

这是我的NavigationDrawerFragment.java代码

public void setUp(int fragmentId, DrawerLayout drawerLayout) {
    mFragmentContainerView = getActivity().findViewById(fragmentId);
    mDrawerLayout = drawerLayout;

    // set a custom shadow that overlays the main content when the drawer opens
    mDrawerLayout.setDrawerShadow(R.drawable.trasparent, GravityCompat.START);
    // set up the drawer's list view with items and click listener

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setHomeButtonEnabled(true);
Run Code Online (Sandbox Code Playgroud)

这是MainActivity.xml

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Main layout -->
    <FrameLayout
        android:id="@+id/main_fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


    <ImageView
        android:id="@+id/ImageView3_Left"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

    <!-- The navigation drawer -->
    <ListView android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice" …
Run Code Online (Sandbox Code Playgroud)

navigation android shadow drawer android-activity

8
推荐指数
3
解决办法
6300
查看次数

更改 Scaffold.body 值后如何在颤动中隐藏抽屉

我正在使用此问题中的方法来更改颤振中 Scaffold 的主体:

Flutter Drawer Widget - 更改 Scaffold.body 内容

所描述的方法非常有效。现在我只想在用户点击其中一个项目后自动关闭抽屉。

我尝试使用 Navigator.pop() 方法,但它会弹出整个屏幕,而不仅仅是抽屉。它让我看到一个全黑的屏幕。

有什么建议?

scaffold drawer setstate dart flutter

8
推荐指数
2
解决办法
1万
查看次数

如何将 SVG 图标放入 flutter 中?

将此代码放入 pubspec.yaml 中

flutter_svg: ^0.19.3
Run Code Online (Sandbox Code Playgroud)

即使我投入了这些资产

assets:
     - assets\icons\logo.jpg
     - assets\icons\menuicon.svg
     - assets\icons\searchIcon.svg
Run Code Online (Sandbox Code Playgroud)

在代码中它看起来像这样

IconButton(
                    icon: Icon(Icons.searchicon.svg),
                    onPressed: () {},
Run Code Online (Sandbox Code Playgroud)

menu drawer dart flutter

8
推荐指数
1
解决办法
3万
查看次数

适用于ipad的SplitView和适用于iPhone的菜单抽屉

我开发了一个通用应用程序(适用于iPhone和iPad).以下是app的要求.

需求

1.应该有一个菜单(左边是主人)和细节(右边).

2.对于iPhone菜单或masterViewController应该在抽屉或滑出菜单上. 抽屉或滑出菜单

3.对于iPad菜单应该在splitView的rootViewController上. splitViewController主菜单中的菜单

我已经尝试过了

我试图实现它使用spiltViewController,适用于iPad它工作正常(MasterViewController在屏幕左侧的即将到来,DetailViewController在屏幕的右侧),但iPhone这只不过是工作的UINavigationController(MasterViewController控制器rootViewControllerUINavigationController).

我应该用什么方法来实现它?

iphone drawer ipad uisplitviewcontroller ios

7
推荐指数
1
解决办法
2458
查看次数

Android:Java:SlidingDrawer的弃用

在developer.android.com上做了一些阅读后,我正在认真考虑从我的应用程序中删除菜单抽屉导航.

然而,在我这样做之前,我想听听您的意见:为什么在android.widget.SlidingDrawerAPI 17中被弃用?

编辑:

这是一个有效的问题.为何android.widget.SlidingDrawer被弃用?还有什么可以用来代替滑动抽屉来达到同样的效果?

java navigation android menu drawer

6
推荐指数
0
解决办法
1058
查看次数

如何为android中的片段中的按钮设置onclick监听器

我的应用包含一个表单,如下图所示:

注册截图

当我单击菜单选项按钮时,抽屉将打开,如下图所示: 选择截图

我希望在按下按钮选择位置时打开抽屉.

我的代码是

RegisterBlood.java

 ...
public class RegisterBlood extends Activity implements OnItemClickListener {
    DrawerLayout dLayout, dLayout2;
    ListView dList, dList2;
    ArrayAdapter<String> adapter, adapter2;
    String[] state_data2;
    String city = "", state = "";
    Button location;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.selectlocation);
        Bundle args = new Bundle();

        Fragment detail = new RegisterBloodFragment();
        detail.setArguments(args);
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction().replace(R.id.content_frame, detail)
                .commit();

    ...
        dLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        dList = (ListView) findViewById(R.id.left_drawer);
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, state_data);
        dList.setAdapter(adapter);
        dList.setSelector(android.R.color.holo_blue_dark);
        // …
Run Code Online (Sandbox Code Playgroud)

android onclick drawer android-fragments

6
推荐指数
2
解决办法
5万
查看次数

childViewControllerForStatusBarHidden用于隐藏

我试图隐藏我状态栏的一半.具体来说,我正在使用REFrostedViewController作为我的侧抽屉,当它出来时,我希望它能够超越状态,例如在这张图片中(应用程序是谷歌的收件箱).

在此输入图像描述

UIViewController的当前层次结构如下:

- REFrostedViewController
 |--MenuViewController
 |--NavigationControler
    |--ContentViewController
Run Code Online (Sandbox Code Playgroud)

我已经UIViewControllerBasedStatusBarAppearance开始了YES.在我的抽屉菜单(MenuViewController)中我有方法

- (BOOL)prefersStatusBarHidden
{
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

在我的导航控制器中,我有:

- (UIViewController *)childViewControllerForStatusBarHidden {
    return self.frostedViewController.menuViewController;
}
Run Code Online (Sandbox Code Playgroud)

这会在所有屏幕中隐藏状态栏.当我做

- (UIViewController *)childViewControllerForStatusBarHidden {
    if (self.isDrawerOpen) 
    {
        return self.frostedViewController.menuViewController;
    } else {
        return self.frostedViewController.contentViewController;
    }
}
Run Code Online (Sandbox Code Playgroud)

它崩溃了.self.frostedViewController.contentViewController拥有一个navigationController(也有prefersStatusBarHidden实现的方法)

statusbar drawer ios

6
推荐指数
0
解决办法
1574
查看次数

在 Flutter 中在平板电脑上制作固定的应用程序菜单而不是抽屉

我的应用程序有很多路由,几乎每条路由都使用 Scaffold 和相同的 Drawer 菜单在应用程序内导航(我自己的 CustomDrawer 小部件)。对于大屏幕的设备,我想总是在布局的左侧显示菜单,而不是使用 Drawer(它在 Gmail 应用程序中是这样工作的。我附上了一张图片)。换句话说,我需要使用固定菜单制作响应式布局。

例子

我试过的:

  • 我知道你可以使用 LayoutBuilder 来学习约束大小;
  • 在每条路线内制作相同的布局是可行的,但这是一个糟糕的解决方案,因为每条路线都会为自己构建菜单(滚动位置会不同,许多菜单会有许多状态等)。对于许多不同的路线,我需要一个应用程序范围的菜单,但不可能在顶级路线上进行布局;
  • 将所有路由压缩为一条路由并改变主要内容的状态将需要大量重构,而且听起来一点也不好。

在 React 中,应用程序布局看起来像这样:

    <App>
      <Menu />
      <main className="content">
        <Switch>
          <Route path="/about" component={About} />
          <Route path="/contact" component={Contact} />
          <Route path="/" component={Home} />
        </Switch>
      </main>
    </App>
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 Flutter 中制作这样的东西。

tl; dr:为了使 UI 响应大屏幕,我想显示固定菜单而不是抽屉。整个应用程序的一个菜单,而不是每条路线。

drawer flutter flutter-layout

6
推荐指数
1
解决办法
2891
查看次数

MUI 抽屉在 React Web 应用程序中打开但未关闭

我的 React 应用程序中有一个 Navbar 组件,当屏幕较小时,它会显示一个 Sidebar 组件。我使用抽屉的 Material UI 来显示侧边栏。我的问题是,单击汉堡图标后,抽屉可以正常打开。但是,当单击链接甚至侧边栏之外时,它不会关闭。

怎么解决这个问题呢?我究竟做错了什么?这是我的代码。

导航栏.js

import React, { useContext, useEffect, useState } from "react";
import "./navbar.css";
import Sidebar from "./Sidebar";
import { NavLink } from "react-router-dom";
import { Drawer } from "@mui/material";
import IconButton from "@mui/material/IconButton";

import MenuIcon from "@mui/icons-material/Menu";

const Navbar = () => {
  const [drwOpen, setDrwOpen] = useState(false);

    const handleOpen = () => {
    setDrwOpen(true);
  };
  const handleClose = () => {
    setDrwOpen(false);
  };


 return (
    <header>
      <nav>
            <div className="left"> …
Run Code Online (Sandbox Code Playgroud)

javascript drawer reactjs material-ui mern

6
推荐指数
1
解决办法
1649
查看次数