如何使用drawerlayout
来源:互联网 发布:郑州软件培训机构 编辑:程序博客网 时间:2024/06/05 02:24
如何使用drawerlayout
参考博客:http://blog.csdn.net/lmj623565791/article/details/41531475/
今天给简单的介绍下如何去使用DrawerLayout这个控件
首先是布局:
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:id="@+id/drawerlayout" android:layout_height="match_parent" android:background="@android:color/holo_orange_light" tools:context="com.mag.administrator.drawerlayoutdemo.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/idlefish"> </RelativeLayout> <fragment android:id="@+id/left_menu" android:name="com.mag.administrator.drawerlayoutdemo.MenuLeftFragment" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="left" android:tag="LEFT" /></android.support.v4.widget.DrawerLayout>这是MainActivity中的代码
private DrawerLayout drawerlayout;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化视图 initView(); //设置监听 setListener();}private void setListener() { drawerlayout.addDrawerListener(new DrawerLayout.DrawerListener() { @Override public void onDrawerSlide(View drawerView, float slideOffset) { //获取第一个子View,就是 View mContentView = drawerlayout.getChildAt(0); float scale = 1 - slideOffset; float rightScale = 0.8f + scale * 0.2f; if (drawerView.getTag().equals("LEFT")) { float leftScale = 1 - 0.3f * scale; ViewHelper.setScaleX(drawerView, leftScale); ViewHelper.setScaleY(drawerView, leftScale); ViewHelper.setAlpha(drawerView, 0.6f + 0.4f * (1 - scale)); ViewHelper.setTranslationX(mContentView, drawerView.getMeasuredWidth() * (1 - scale)); ViewHelper.setPivotX(mContentView, 0); ViewHelper.setPivotY(mContentView, mContentView.getMeasuredHeight() / 2); mContentView.invalidate(); ViewHelper.setScaleX(mContentView, rightScale); ViewHelper.setScaleY(mContentView, rightScale); } } @Override public void onDrawerOpened(View drawerView) { } @Override public void onDrawerClosed(View drawerView) { } @Override public void onDrawerStateChanged(int newState) { } });}private void initView() { drawerlayout = (DrawerLayout) findViewById(R.id.drawerlayout); // 设置模式 drawerlayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, Gravity.RIGHT);}
然后写上继承Fragment的类
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.layout_menu, container, false); }
布局文件:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00000000" android:orientation="vertical"> <TextView android:id="@+id/tv_one" android:layout_width="150dp" android:layout_height="50dp" android:layout_centerInParent="true" android:gravity="center" android:text="itemone" android:textSize="20sp" /> <TextView android:layout_width="150dp" android:layout_height="50dp" android:layout_below="@id/tv_one" android:layout_centerInParent="true" android:gravity="center" android:text="itemtwo" android:textSize="20sp" /></RelativeLayout>
这样就完成了。是不是很简单。
下载地址:https://github.com/zexunana/DrawerLayoutDemo.git
0 0
- 如何使用drawerlayout
- 如何使用侧滑DrawerLayout
- DrawerLayout 使用
- DrawerLayout 使用
- DrawerLayout使用
- DrawerLayout使用
- DrawerLayout使用
- drawerlayout使用
- DrawerLayout的基本使用
- Android - DrawerLayout的使用
- DrawerLayout的基本使用
- DrawerLayout控件的使用
- 学习使用DrawerLayout
- Android DrawerLayout的使用
- DrawerLayout的使用例子
- DrawerLayout使用一二事
- DrawerLayout的使用
- DrawerLayout的使用
- CodeForces 367D Vasiliy's Multiset Trie树
- android 之ListView
- 解决jdk1.8中发送邮件失败(handshake_failure)问题
- POJ 2195 Going Home [二分图带权匹配] [费用流]
- android studio导入项目报错Plugin with id 'com.android.application' not found.解决
- 如何使用drawerlayout
- 【opencv的学习】各类变换的尝试
- 对C#的exe更改图标
- ubuntu搭建Git服务器,windowns建立git客户端
- HDU 1864 CD报销发票+浮点数的01背包
- c语言课程设计:银行帐户管理系统
- 博弈论专题——推理与动态规划相关博弈之POJ2484 POJ1740(模仿游戏)
- mysql常用命令
- 7.OAut认证 根据授权码获取用户的ID,SECRET等信息