[android] 新闻客户端引入SlidingMenu

[android] 新闻客户端引入SlidingMenu,第1张

概述下载SlidingMenu,https://github.com/jfeinstein10/SlidingMenu 导入library 我们项目右键==>Properties==>Andr

下载SlIDingMenuhttps://github.com/jfeinstein10/SlIDingMenu

导入library

我们项目右键==>PropertIEs==>AndroID==>library add 添加第三方项目为依赖

 

出现这个错误:Found 2 versions of androID-support-v4.jar in the dependency List

因为第三方项目中的androID-support-v4.jar包和我们项目中的冲突了,使用我们的jar包覆盖第三方项目的就可以了

 

当前activity继承SlIDingFragmentActivity,重写onCreate()方法,

调用setBehIDContentVIEw(),设置滑动菜单的布局文件,参数:资源ID

获取SlIDingMenu对象,通过getSlIDingMenu()方法

调用SlIDingMenu对象的setMode()方法,设置左边划出,参数:SlIDingMenu.left

调用SlIDingMenu对象的setBehinDWIDthRes(),设置菜单的宽度,参数:宽度dimen资源

调用SlIDingMenu对象的setShadowDrawable()方法,设置菜单阴影,参数:shape资源文件

shape资源文件,添加根节点<shape>

添加渐变节点,<gradIEnt>,设置开始颜色androID:startcolor=”#000000”

设置中间颜色,androID:centercolor=”2D000000”

设置结束颜色,androID:endcolor=”5A000000”

调用SlIDingMenu对象的setShadowWIDth(),设置阴影的宽度,参数:宽度

调用SlIDingMenu对象的settouchModeAbove()方法,设置滑动的范围,

参数:SlIDingMenu.touchMODE_FulLSCREEN 全屏

SlIDingMenu.touchMODE_NONE 不允许滑动

 

调用requestwindowFeature(),参数:Window.FEATURE_NO_Title,去掉Title

 

创建Fragment

新建一个包xxx.fragment,新建一个MenuFragment,继承v4包里的Fragment

重写onCreate()

 

重写onCreateVIEw(),传递进来LayoutInflater对象

新建一个布局文件,List_vIEw.xml,里面放一个ListVIEw控件,调用LayoutInflater对象inflate()方法,转成VIEw对象

 

重写onActivityCreated(),当activity创建的时候

调用VIEw对象的findVIEwByID(),获取ListVIEw对象

调用ListVIEw对象的setAdapter()方法,设置适配器,参数:Adapter对象

获取ArrayAdapter对象,构造方法,参数:上下文,布局资源,文本控件ID,数据List

上下文(getActivity()),布局资源使用系统的androID.R.layout.simple_List_item1

文本ID androID.R.ID.text1,数据

 

替换布局

activity中,获取Fragment对象,把menu布局替换成这个Fragmenu

获取Fragment对象,new MenuFragment()

调用getSuportFragment().beginTransaction().replace().commit()来替换

replace()方法,参数:布局IDfragment对象

MainActivity.java

package com.qingguow.news;import com.jeremyfeinstein.slIDingmenu.lib.SlIDingMenu; com.jeremyfeinstein.slIDingmenu.lib.app.SlIDingFragmentActivity; com.qingguow.news.fragment.MenuFragment; androID.app.Activity; androID.os.Bundle; androID.vIEw.Menu; androID.vIEw.MenuItem; androID.vIEw.Window;public class MainActivity extends SlIDingFragmentActivity {    @OverrIDe    voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestwindowFeature(Window.FEATURE_NO_Title);        //设置滑动菜单        setBehindContentVIEw(R.layout.menu);        setContentVIEw(R.layout.activity_main);        SlIDingMenu sm=getSlIDingMenu();        sm.setMode(SlIDingMenu.left);        sm.setBehinDWIDth(200);        sm.setShadowDrawable(R.drawable.shape);        sm.setShadowWIDth(5);        sm.settouchModeAbove(SlIDingMenu.touchMODE_FulLSCREEN);                替换fragemnt        MenuFragment menuFragment=new MenuFragment();        getSupportFragmentManager().beginTransaction().replace(R.ID.ll_left_menu,menuFragment).commit();    }}

 

MenuFragment.java

 com.qingguow.news.fragment; java.util.ArrayList; java.util.List; androID.support.annotation.Nullable; androID.support.v4.app.Fragment; androID.vIEw.LayoutInflater; androID.vIEw.VIEw; androID.vIEw.VIEwGroup; androID.Widget.ArrayAdapter; androID.Widget.listadapter; androID.Widget.ListVIEw; com.qingguow.news.R;class MenuFragment  Fragment {    private VIEw vIEw;    加载布局文件    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater,@Nullable VIEwGroup container,@Nullable Bundle savedInstanceState) {        vIEw = inflater.inflate(R.layout.List_vIEw,null);        return vIEw;    }    设置ListvIEw数据 onActivityCreated(@Nullable Bundle savedInstanceState) {        .onActivityCreated(savedInstanceState);        ListVIEw ListvIEw = (ListVIEw) vIEw.findVIEwByID(R.ID.lv_menu);                List<String> data=new ArrayList<String>();        data.add("新闻");        data.add("发现");        data.add("关注");        listadapter adapter = new ArrayAdapter<>(getActivity(),androID.R.layout.simple_List_item_1,androID.R.ID.text1,data);        ListvIEw.setAdapter(adapter);            }}

 

总结

以上是内存溢出为你收集整理的[android] 新闻客户端引入SlidingMenu全部内容,希望文章能够帮你解决[android] 新闻客户端引入SlidingMenu所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/web/1121168.html

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

发表评论

登录后才能评论

评论列表(0条)

保存