下载地址:
github : https://github.com/jfeinstein10/SlidingMenu
actionbarsherlock : https://github.com/JakeWharton/ActionBarSherlock
(一) 效果图
左滑 和 右滑 滑动出 类似menu的view
(二) 导入项目
将actionbarsherlock 和 slidingmenu 导入项目里
工程名为:
ExampleListActivity
actionbarsherlock
library
项目的结构层次
ExampleListActvity
|
|----------Library
|
|-------------actionbarsherlock
(三) 导包项目 与 排错
(1)导入项目后 打开 ExampleListActivity 的 properties 选择 Android 这一项
之后 可以看见缺少 /ABS 这个库 不用在意 删掉就好了 如下图 (图:1)
(2)打开library 的 properties 选择 Android 这一项
之后在library一项添加actionbar (如图2)
(3)完成上述步骤之后会报一个错误 表示2个不同版本的 android -support- v4 .jar 冲突了
解决办法: 删除library中的 android -support- v4 .jar 或者 使用相同的 android-support-v4.jar
错误如下:
Found 2 versions of android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Versions found are:
Path: /Users/baozi/Documents/Dev/HuihuaWorkspace/actionbarsherlock/libs/android-support-v4.jar
Length: 271754
SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
Path: /Users/baozi/Documents/Dev/HuihuaWorkspace/library/libs/android-support-v4.jar
Length: 758727
SHA-1: efec67655f6db90757faa37201efcee2a9ec3507
Jar mismatch! Fix your dependencies
(4)完成上述步骤之后 library 当中还存在错误:
找不到 getSupportActionBar().setDisplayHomeAsUpEnabled( true );
解决办法:
找到Library中的src下找到SlidingFragmentActivity.java,修改父类
将:
public class SlidingFragmentActivity extends FragmentActivity
修改为:
public class SlidingFragmentActivity extends SherlockFragmentActivity
项目的结构层次
ExampleListActvity
|
|----------Library
|
|----------------actionbarsherlock
clean顺序 actionbarsherlock 、 library、 ExampleListActivity
逐个clean 项目就能运行了
(图:1)
图2:
(四) 设置详解
Simple Example :
public class SlidingExample extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.attach);
// set the content view
setContentView(R.layout.content);
// configure the SlidingMenu
SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.menu);
}
}
Slidingmenu 提供属性修改
1 初始化Slidingmenu:
SlidingMenu menu = getSlidingMenu();
2 setMode //设置滑动模式
设置是左滑还是右滑,还是左右都可以滑
menu.setMode(SlidingMenu.LEFT);//设置左滑菜单
menu.setMode(SlidingMenu.LEFT_RIGHT);//设置左右都可滑动
menu.setMode(SlidingMenu.TOUCHMODE_NONE);//不能手势滑动
3 设置SlidingMenu阴影
menu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度
menu. setSecondaryShadowDrawable(R.drawable.shadowright);//设置右侧菜单阴影的图片资源
menu.setShadowDrawable(R.drawable.shadow);//设置左侧菜单阴影图片
4 设置SlidingMenu边框距离
menu.setBehindOffsetRes();//SlidingMenu滑出时距离边框的剩余宽度
menu.setBehindOffset(getWindowManager().getDefaultDisplay().getWidth() / 5);
// getWindowManager().getDefaultDisplay().getWidth() / 5 表示 距离屏幕宽度 1/5
5 设置SlidingMenu渐变
menu.setFadeEnabled(true);/是否有渐变
menu.setFadeDegree(0.35f);//设置渐变比率
6 设置SlidingMenu布局
sm = getSlidingMenu();
setBehindContentView(R.layout.main_menu_frame);
sm.setSecondaryMenu(R.layout.main_menu_frame_two);
messageFragment = new MessageFragment();
profileFragment = new ProfileFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, messageFragment).commit();
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame_two, profileFragment).commit();
设置布局有3个方法 :
最后
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【算法合集】
【延伸Android必备知识点】
【Android部分高级架构视频学习资源】
**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
图片的形式给大家展示一部分。
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
[外链图片转存中…(img-hbBFSPtL-1725640378541)]
【算法合集】
[外链图片转存中…(img-wtcdLCTz-1725640378542)]
【延伸Android必备知识点】
[外链图片转存中…(img-yqWFYLNK-1725640378542)]
【Android部分高级架构视频学习资源】
**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0