我的目标是Android 5.0版,最小设置为4.4。我想创建一个简单的侧边菜单,用户可以使用该菜单选择应用程序的选项/页面。
我面临的问题是在各种博客,论坛和文档页面上推荐的解决方案数量。其中许多需要下载各种组件和附加库,以及支持库以实现向后兼容。
如果我不需要向后兼容性,并且只想制作一个带有丑陋的新Material Design的Android应用程序,我可以使用哪种方法?
是否有内置组件?或者正在下载这些库并为他们做大量的设置我有最好的选择吗?
答案 0 :(得分:1)
是否有内置组件?或者正在下载这些库并为他们做大量的设置我有最好的选择吗?
带DrawerLayout
的{{3}}实际上是获得可滑动汉堡包面板的官方推荐方式。但正如您所说,要使用它,需要安装Material Design(Android支持设计库)。
如果您不想使用它。实际上有一种方法可以直接使用Fragment
来实现侧抽屉。例如:
在您的活动布局中:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/sidedrawer"
android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:background="@drawable/drawerborder">
<Button android:id="@+id/home"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="HOME" />
<Button android:id="@+id/settings"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="SETTINGS" />
</LinearLayout>
<FrameLayout android:id="@+id/container"
android:layout_height="match_parent"
android:layout_width="wrap_content" />
</LinearLayout>
代码背后:
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your application here
SetContentView(Resource.Layout.layout1);
Button home = FindViewById<Button>(Resource.Id.home);
home.Click += (sender, e) =>
{
FragmentTransaction transaction = this.FragmentManager.BeginTransaction();
HomeFragment homefragment = new HomeFragment();
transaction.Replace(Resource.Id.container, homefragment).Commit();
};
Button settings = FindViewById<Button>(Resource.Id.settings);
settings.Click += (sender, e) =>
{
FragmentTransaction transaction = this.FragmentManager.BeginTransaction();
SettingsFragment settingsfragment = new SettingsFragment();
transaction.Replace(Resource.Id.container, settingsfragment).Commit();
};
}
我没有向sidedrawer
添加手势和动画以使其可以滑动。你可以自己尝试一下。
但我不能告诉哪种方式更容易,在我看来,安装这些软件包会更方便。要使用我上面提到的方法,许多工作需要由我们自己完成。例如,滑入/滑出动画,手势识别,甚至是抽屉的边框。所以是的,我个人认为下载这些库是最好的选择。
编辑: 我忘了说,如果你想要一个弹出式侧抽屉,你可以尝试使用自定义对话框。