如果我在DrawerLayout里添加三个view

如果我在DrawerLayout里添加三个view,第1张

可以用一个布局文件比如LinearLayout,但记得要加上android:layout_gravity="start"这个属性,不然会报错。

LinearLayout里面就可以写你想要的东西了。

一、使用最新的adt插件创建android项目时,如果选择的Minimum Required SDK为8,而Target SDK大于它的话,系统会自动在项目中导入Support v4包;

在创建项目向导最后一步可以选择Navigation Type,如果选择了Navigation Drawer,adt工具会在创建项目时自动生成DrawerLayout相关示例代码。

但由于DrawerLayout是在高版本的API中出现的,因此adt工具会帮助导入Support v7 appcompat包,这样DrawerLayout就可以兼容到Android2.2了。

二、首先打开res目录下的style文件,自定义一个主题和action bar的style,然后在自定义主题中引用自定义的action bar的style:

这里要注意的是无论是在自定义主题还是自定义style时,要根据情况加上parent属性,如果没有加上相应的parent属性的话就不能使用父style中没有被覆盖的样式。

完成自定义主题和style后要记得在manifest文件中应用:

这里可以让整个应用都使用自定义的主题,也可以指定单个activity使用,使用android:theme属性来指定。

三、接下来要给app添加DrawerLayout了,修改MainActivity的布局文件,添加一个DrawerLayout,其中包含一个Drawer和内容布局的Container:

注意,下面那个fragment就是app的Drawer,其中的属性android:layout_gravity在这里表示Drawer从哪一侧划出,start代表左侧,end代表右侧;还可以定义两个fragment,然后一个左侧划出一个右侧划出。

四、创建完DrawerLayout布局后,来为Drawer定义一个 fragment,用ListView加上headerView来实现,创建一个NavigationDrawerFragment继承自 Fragment,这个fragment的布局包含一个ListView:

使用一个ArrayList来存放ListView的数据,定义一个DrawerListItem对象来存放每个Item的title和icon的资源ID:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11350259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存