AndroID中很多产品(比如360手机助手、网易菜单...)都采用侧滑菜单的展现形式,采用这种展现形式
1、能把更多的展现内容都存放在菜单中
2、设计上也能体现出视觉效果
现在这种交互方式越来越流行了,虽然这种交互方式可以通过自定义组件的方式来实现,但是用三方开源库更简单。
SlIDingMenu:SlIDingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种 *** 作.目前有大量的应用都在使用这一效果。
地址:https://github.com/jfeinstein10/SlidingMenu.git
现在新建一个AndroID项目SlIDingMenuDemo,
activity_main:
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" > <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:text="内容" androID:textSize="24sp" androID:textcolor="#000" androID:gravity="center" /></relativeLayout>
左边的菜单activity_menu:
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical"> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:gravity="center" androID:text="体育" androID:textSize="16sp" androID:textcolor="#000" /> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:gravity="center" androID:text="娱乐" androID:textSize="16sp" androID:textcolor="#000" /> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:gravity="center" androID:text="财经" androID:textSize="16sp" androID:textcolor="#000" /> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:gravity="center" androID:text="科技" androID:textSize="16sp" androID:textcolor="#000" /> <TextVIEw androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:gravity="center" androID:text="杭州" androID:textSize="16sp" androID:textcolor="#000" /></linearLayout>
MainActivity.java:
package com.example.slIDingmenudemo;import com.jeremyfeinstein.slIDingmenu.lib.SlIDingMenu;import com.jeremyfeinstein.slIDingmenu.lib.app.SlIDingFragmentActivity;import androID.os.Bundle;import androID.vIEw.Window;import androID.app.Activity;public class MainActivity extends SlIDingFragmentActivity {private SlIDingMenu sm;@OverrIDepublic voID onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestwindowFeature(Window.FEATURE_NO_Title);// 1 设置滑动菜单旁边的页面setBehindContentVIEw(R.layout.activity_menu);setContentVIEw(R.layout.activity_main);//2 获取滑动菜单sm = getSlIDingMenu();//3 设置左滑菜单sm.setMode(SlIDingMenu.left);// 4 设置滑动菜单出来之后,内容页剩余的宽度sm.setBehindOffsetRes(R.dimen.slIDingmenu_offset);sm.settouchModeAbove(SlIDingMenu.touchMODE_FulLSCREEN);// 6 设置阴影sm.setShadowDrawable(R.drawable.shadow);sm.setShadowWIDthRes(R.dimen.shadow_wIDth);}}
注意Activity一定要继承SlIDingFragmentActivity。
现在看看SlIDingMenu一些属性:
menu.setMode(SlIDingMenu.left);//设置左滑菜单menu.settouchModeAbove(SlIDingMenu.touchMODE_FulLSCREEN);//设置滑动的屏幕范围,该设置为全屏区域都可以滑动menu.setShadowDrawable(R.drawable.shadow);//设置阴影图片menu.setShadowWIDthRes(R.dimen.shadow_wIDth);//设置阴影图片的宽度menu.setBehindOffsetRes(R.dimen.slIDingmenu_offset);//SlIDingMenu划出时主页面显示的剩余宽度menu.setBehinDWIDth(400);//设置SlIDingMenu菜单的宽度menu.setFadeDegree(0.35f);//SlIDingMenu滑动时的渐变程度menu.attachToActivity(this,SlIDingMenu.SLIDING_CONTENT);//使SlIDingMenu附加在Activity上menu.setMenu(R.layout.menu_layout);//设置menu的布局文件menu.toggle();//动态判断自动关闭或开启SlIDingMenumenu.showMenu();//显示SlIDingMenumenu.showContent();//显示内容
左右都可以划出SlIDingMenu菜单只需要设置
menu.setMode(SlIDingMenu.left_RIGHT);属性,然后设置右侧菜单的布局文件menu.setSecondaryShadowDrawable(R.drawable.shadowright);//右侧菜单的阴影图片
设置SlIDingMenu属性
sm = getSlIDingMenu();//如果只显示左侧菜单就是用left,右侧就RIGHT,左右都支持就left_RIGHTsm.setMode(SlIDingMenu.left_RIGHT);//设置菜单滑动模式,菜单是出现在左侧还是右侧,还是左右两侧都有sm.setShadowDrawable(R.drawable.shadow);//设置阴影的图片资源sm.setShadowWIDthRes(R.dimen.shadow_wIDth);//设置阴影图片的宽度//sm.setBehinDWIDth(200);//设置菜单的宽sm.setBehindOffsetRes(R.dimen.slIDingmenu_offset);//SlIDingMenu划出时主页面显示的剩余宽度sm.settouchModeAbove(SlIDingMenu.touchMODE_FulLSCREEN);//设置滑动的区域
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Android实现网易新闻客户端侧滑菜单(1)全部内容,希望文章能够帮你解决Android实现网易新闻客户端侧滑菜单(1)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)