在developer.android.com上做了一些阅读后,我正在认真考虑从我的应用程序中删除菜单抽屉导航.
然而,在我这样做之前,我想听听您的意见:为什么在android.widget.SlidingDrawerAPI 17中被弃用?
编辑:
这是一个有效的问题.为何android.widget.SlidingDrawer被弃用?还有什么可以用来代替滑动抽屉来达到同样的效果?
我正在尝试按照本教程学习如何创建导航抽屉,但我不想在用户从抽屉列表中选择项目后使用片段来显示新内容.解决这个问题的最佳方法是什么?我正在使用不实现Fragments的API 10.
http://developer.android.com/design/patterns/navigation-drawer.html
我已经阅读了教程以创建导航抽屉,但我还需要做什么来使用标题,图标和计数器作为抽屉项目的一部分?我只在示例中看到如何控制文本.
我有一个带有Fragment布局的主Activity.抽屉有3个选项:
Fragment[1], Fragment[2], Fragment[3].
Inside Fragment [2]和Fragment [3]是一个按钮.这个按钮打开其他片段.片段[4].
我想片段[4]没有抽屉,但有一个后退按钮.
这是片段[2]中的onClick代码
Fragment fragment = new InstalacionesEncontradasFragment();
Bundle bundle = new Bundle();
bundle.putSerializable("key", this.instalacionesConCategorias);
fragment.setArguments(bundle);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction mFragmentTransaction = fragmentManager.beginTransaction();
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.replace(R.id.main_frame_container, fragment, "ACTIVIDADES").commit();
Run Code Online (Sandbox Code Playgroud)
并在片段[4]
onCreate方法:
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)
但是这个解决方案不起作用.
如何禁用抽屉?我应该在哪里实现后退按钮?在片段[2]或片段[3]?
我在项目中使用Material UI Drawer组件.
我有一个iPad的特定问题,据我所知,导致两个问题: - 叠加没有出现在导航栏和正文内容之上 - 抽屉没有出现在叠加层的顶部
据我所知,这似乎是与z指数相关的问题; 可能与"transform:translateZ(0px);"的使用有关
这是叠加层的渲染html:
<div style="position: fixed; height: 100%; width: 100%; top: 0px; left:
0px; opacity: 1; background-color: rgba(0, 0, 0, 0.541176); -webkit-
tap-highlight-color: rgba(0, 0, 0, 0); will-change: opacity; transform:
translateZ(0px); transition: left 0ms cubic-bezier(0.23, 1, 0.32, 1)
0ms, opacity 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; z-index: 1200;
pointer-events: auto;"><!-- react-empty: 149 --></div>
Run Code Online (Sandbox Code Playgroud)
这是抽屉的主要div渲染html:
<div style="color: rgb(255, 255, 255); background-color: rgb(0, 0, 0);
transition: transform 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; box- …Run Code Online (Sandbox Code Playgroud) 这是我的第一个问题。我想请问您对 Navigation Drawer 的看法。我已经尝试了一些项目并且我已经阅读了很多关于它的信息,但不知何故我无法真正理解它是如何工作的..以下是我的原因/怀疑:
从理论上讲,你可以从任何地方去你的应用程序的任何地方,我的意思是,这个概念迫使设计师只使用 Fragment,将你的一个且唯一的 Activity 转换为一种“上帝概念”,这不是最好的主意为了开发具有深度导航的应用程序..
如果有一种方法可以将 Navigation Drawer 和 Activity 结合起来,我是否应该在每个 Activity 上一遍又一遍地实现相同的 Navigation Drawer?这个真的看不下去了。。
我在谈论这个是因为我正在尝试调整我的一个应用程序并在其上使用这种导航模式,但我真的不知道该怎么做..我仍然认为最好有多个活动,当然还有它们上的 Fragment,但我不知道如何组合它们才能获得 Navigation Drawer 的最佳性能。我在这个网站上看到过类似的问题,但我还没有找到我要找的答案。也许我没有阅读足够的文档,或者我错了,我不明白这种模式是如何真正起作用的。
谢谢你的帮助。
我想在导航抽屉上创建一个分享按钮,当用户触摸按钮时,它将打开带有所有应用程序列表的黑色抽屉,用户可以共享Google Play链接.有没有通用的代码模板?我找到的唯一答案就是在一个应用程序上分享它,比如Facebook,这似乎没用,因为不是每个人都使用Facebook.
我在我的应用程序中使用MMDrawerController从这个链接
我在AppDelegate中设置了根ViewController:
self.leftDrawerController = [[LeftDrawerViewController alloc] init];
self.homeViewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.homeViewController];
// DrawerViewController setup
self.drawerController = [[MMDrawerController alloc]
initWithCenterViewController:self.navigationController
leftDrawerViewController:self.leftDrawerController];
[self.drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll];
[self.drawerController setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeAll];
[self.drawerController setDrawerVisualStateBlock:^(MMDrawerController *drawerController, MMDrawerSide drawerSide, CGFloat percentVisible) {
MMDrawerControllerDrawerVisualStateBlock block; block = [[DrawerVisualStateManager sharedManager] drawerVisualStateBlockForDrawerSide:drawerSide];
if (block) {
block(drawerController, drawerSide, percentVisible);
}
}];
[self.window setRootViewController:self.drawerController];
Run Code Online (Sandbox Code Playgroud)
我想在特定的ViewController中禁用旋转,我调用这些方法,它们永远不会被调用,视图仍然会旋转:
// ViewController.m
-(BOOL)shouldAutorotate {
return NO;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
Run Code Online (Sandbox Code Playgroud)
我想问题来自rootViewController,这是MMDrawerViewController!
我已经检查这个和这个和这个,但没有任何帮助.
我希望创建一个抽屉,类似于抽屉导航器,但没有路线/导航要求。
我计划在那里放置一些其他组件来更新查询。有什么建议吗?具体来说,抽屉将用于显示选项列表、滑块和日期范围组件,这些组件将更新状态和变量,用于更新在主页显示的地图上呈现的标记。
我正在使用 react-navigation,我想从MyProfile屏幕打开一个抽屉,可以选择转到EditProfile屏幕和设置屏幕。但是当我点击MyProfile 的标题按钮时,我不知道如何打开抽屉。
应用程序.js:
const MyProfileStack = createStackNavigator({
MyProfile: {
screen: profile,
navigationOptions: ({navigation}) => {
return {
title: "My Profile",
headerRight: (
<Icon type="evilicon" name="navicon" size={40}
onPress={() => navigation.dispatch(DrawerActions.openDrawer())}/>
)
};
}
}
})
const DrawerStack = createDrawerNavigator({
Edit: { screen: EditProfileStack }
Settings: { screen: SettingsStack }
})
const EditProfileStack = createStackNavigator({
EditProfile: {
screen: editProfile,
navigationOptions: ({navigation}) => {
return {
title: "Edit Profile",
headerLeft: (
<Icon type="evilicon" name="chevron-left" …Run Code Online (Sandbox Code Playgroud) drawer ×10
android ×6
navigation ×5
fragment ×2
ios ×2
react-native ×2
css ×1
java ×1
material-ui ×1
menu ×1
objective-c ×1
reactjs ×1
rotation ×1
share ×1
z-index ×1