SlidingMenu

来源:互联网 发布:vmware 网络连接 编辑:程序博客网 时间:2024/05/16 13:03
package com.yyq.today_news.activity;import java.util.ArrayList;import java.util.List;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.app.FragmentTransaction;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.LayoutInflater;import android.view.MotionEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnTouchListener;import android.view.ViewGroup.LayoutParams;import android.widget.HorizontalScrollView;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.RadioGroup.OnCheckedChangeListener;import com.jeremyfeinstein.slidingmenu.lib.SlidingFragmentActivity;import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;import com.lidroid.xutils.BitmapUtils;import com.yyq.nowday.bean.ChannelItem;import com.yyq.nowday.bean.ChannelManage;import com.yyq.nowday.fragment.Beijing_Fragment;import com.yyq.nowday.fragment.Hotspot_Fragment;import com.yyq.nowday.fragment.LeftMenuFragment;import com.yyq.nowday.fragment.Recommend_Fragment;import com.yyq.nowday.fragment.RightMenuFragment;import com.yyq.nowday.fragment.Video_Fragment;import com.yyq.nowday.view.CircleImageView;import com.yyq.today_news.R;import com.yyq.today_news.application.MyApplication;public class MainActivity extends SlidingFragmentActivity {private FragmentManager fm;private FragmentTransaction ft;private ImageView iv_title_eft;private ImageView iv_title_right;private ViewPager viewpager;private HorizontalScrollView h_scrollview;private RadioGroup rg;private ImageView add;private CircleImageView title_left;private int x;//触摸x坐标ArrayList<ChannelItem> userChannelList = new ArrayList<ChannelItem>();ArrayList<String> tabTitle=new ArrayList<String>();private List<Fragment> fragmentlist;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);registerReceiver(new Login_translate(),new IntentFilter("com.test.login"));setSliding();init();initScrolView();listeners();}class Login_translate extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {String username = intent.getStringExtra("username");String url = intent.getStringExtra("url");System.out.println(url+"------------");BitmapUtils bitmapUtils = new BitmapUtils(MainActivity.this);bitmapUtils.display(title_left,url);}} /** * 监听 */private void listeners() {rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {viewpager.setCurrentItem(checkedId);}});viewpager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {rg.getChildAt(arg0).performClick();}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});viewpager.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {int action = event.getAction();switch (action) {case MotionEvent.ACTION_DOWN:x = (int) event.getX();break;case MotionEvent.ACTION_MOVE:int temp = (int) (event.getX() - x);if (temp > 0 && viewpager.getCurrentItem() == 0) {MainActivity.this.getSlidingMenu().setSlidingEnabled(true);} else if (temp < 0&& viewpager.getCurrentItem() == viewpager.getAdapter().getCount() - 1) {MainActivity.this.getSlidingMenu().setSlidingEnabled(true);} else {MainActivity.this.getSlidingMenu().setSlidingEnabled(false);}break;}return false;}});iv_title_eft.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {getSlidingMenu().toggle();}});iv_title_right.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {getSlidingMenu().showSecondaryMenu();}});add.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent(MainActivity.this,Channel_Activity.class);startActivityForResult(intent, 1);}});}@Overrideprotected void onActivityResult(int arg0, int arg1, Intent arg2) {super.onActivityResult(arg0, arg1, arg2);System.out.println("111111111111111"+userChannelList.size());}/** * 加载标题栏 */private void initScrolView() {rg.removeAllViews();userChannelList = ((ArrayList<ChannelItem>)ChannelManage.getManage(MyApplication.getApp().getSQLHelper()).getUserChannel());System.out.println("2222222222222222222"+userChannelList.size());for (ChannelItem i : userChannelList) {tabTitle.add(i.getName());}for (int i = 0; i < tabTitle.size(); i++) {RadioButton rb = (RadioButton) LayoutInflater.from(this).inflate(R.layout.item_title, null);rb.setId(i);rb.setText(tabTitle.get(i));rb.setLayoutParams(new LayoutParams(50, LayoutParams.MATCH_PARENT));rg.addView(rb);}}/** * 记载控件 */private void init() {buildData();viewpager = (ViewPager) findViewById(R.id.mViewPager);h_scrollview = (HorizontalScrollView) findViewById(R.id.menu_settings);rg = (RadioGroup) findViewById(R.id.rg_nav_content);iv_title_eft = (ImageView) findViewById(R.id.iv_title_left);iv_title_right = (ImageView) findViewById(R.id.iv_title_right);add=(ImageView) findViewById(R.id.button_more_columns);title_left=(CircleImageView) findViewById(R.id.iv_title_left);MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());//适配器viewpager.setAdapter(myFragmentPagerAdapter);}/** * 数据建立 */private void buildData() {fragmentlist = new ArrayList<Fragment>();fragmentlist.add(new Recommend_Fragment());fragmentlist.add(new Hotspot_Fragment());fragmentlist.add(new Beijing_Fragment());fragmentlist.add(new Video_Fragment());}/** * 左右侧滑设置 */private void setSliding() {getSlidingMenu().setMode(SlidingMenu.LEFT_RIGHT);getSlidingMenu().setBehindOffset(60);getSlidingMenu().setFadeDegree(0.2f);getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);setBehindContentView(R.layout.left_menu_framelayout);fm = getSupportFragmentManager();ft = fm.beginTransaction();ft.replace(R.id.left_menu_framelayout, new LeftMenuFragment());getSlidingMenu().setSecondaryMenu(R.layout.right_menu_framelayout);ft.replace(R.id.right_menu_framelayout, new RightMenuFragment());ft.commit();}class MyFragmentPagerAdapter extends FragmentPagerAdapter {public MyFragmentPagerAdapter(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int arg0) {return fragmentlist.get(arg0);}@Overridepublic int getCount() {return fragmentlist.size();}}@Overrideprotected void onRestart() {// TODO Auto-generated method stubsuper.onRestart();}}

0 0