本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 1613|回复: 0
打印 上一主题 下一主题

第Ⅱ期Android菜鸟饭团#Android学习#第十七课 活动笔记

[复制链接]
跳转到指定楼层
1#
发表于 2016-1-15 17:25:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xiao_ming 于 2016-1-15 17:33 编辑

第Ⅱ期Android菜鸟饭团#Android学习#第十七课 活动笔记
导航抽屉式一个显示应用程序的主要导航选项的面板,它显示在屏幕的左边。在大部分时间内它是隐藏状态的,当用户用一直手指从屏幕的左边缘滑动时,导航抽屉就会显示出来。或者在栈顶的应用程序,用户在操作栏触摸应用程序的图标时,它也会显示出来。
在你决定在你的应用程序中使用一个导航抽屉前,你应该了解在Navigation Drawer 设计指导中的使用案例和设计规则。
        1.创建一个抽屉布局
添加一个导航抽屉,你需要将你的用户界面用一个DrawerLayout 对象作为你布局文件的根视图。DrawerLayout添加一个包含主要文本的视图,该文本视图为在屏幕中主要去显示文本内容。在抽屉隐藏时,该视图也是你的主要布局。另外一个视图包含了导航抽屉里的内容视图
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
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"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
        上面的布局示范了一些重要的布局特征
        在DrawerLayout中,主文本视图必须是第一个字视图。因为xml的执行顺序意味着Z轴和抽屉必须在文本的顶部。
        主文本视图的宽高设置为匹配父窗体。因为在抽屉处于隐藏状态下进入UI界面时作为主要的视图。
        抽屉视图必须制定是水平方向的listView。制定start代替left
        抽屉视图制定的宽是按dp为代码计算高匹配父窗体。抽屉的宽应该不超过320dp一边用户可以一直看到主文本的一部分.
        2.在你的活动(activity)中,第一件事情应该是初始化这个导航抽屉的列表项。如何去实现取决于你的应用程序的内容。但是一个导航抽屉通常由一个listView构成,所以如果你使用listView的话应该给它填充一个适配器
public class MainActivity extends Activity {
private String[] mPlanetTitles;
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPlanetTitles = getResources().getStringArray(R.array.planets_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
// Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, mPlanetTitles));
// Set the list's click listener
mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
...
        }
}
        
每一个技术小白都有一个成为大神的梦想,现在Android菜鸟饭团就给你这个成就梦想的机会。我们提供最新的Android技术教学,只要你又耐心和毅力就一定会在这里有所收获。
Android菜鸟饭团南阳GDG组织发起,秉承着开放、分享、创新的原则,希望通过GDG社区的力量能够给更多的想要学习Android开发技术的小白们创造一个学习,交流,分享的环境。同往常的GDG活动一样,我们依然是任性的一个子都不要,并且还在周六的分享中提供盒饭和不定期的惊喜小礼物呦~所以快来加入我们吧,为你的大神梦想迈出第一步。
把你的个人信息和申请理由快快发送到android@chuang1.net,前来加入我们吧


ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表