Android开源项目SlidingMenu学习(二)

前一篇SlidingMenu学习(一)文章中了解了导入SlidingMenu到我们项目经常出现的问题,下面我们正式学习。

先看一个效果:

   

Android开源项目SlidingMenu学习(二)

                                                                                                                         

Android开源项目SlidingMenu学习(二)


  看到两幅图片的差别了吗,左边的一栏时可以滑动的,可以隐藏掉,现在就是用这个开源项目实现类似功能。

 

 

public class BaseActivity extends SlidingFragmentActivity 

{

	private int mtitleRes;

	private Fragment frag;

	

	public BaseActivity(int mtitleRes)

	{

		this.mtitleRes=mtitleRes;

	}

	

	

	@Override

	public void onCreate(Bundle savedInstanceState) {

		// TODO Auto-generated method stub

		super.onCreate(savedInstanceState);

		this.setTitle(mtitleRes);

		

		//设置behind View

		this.setBehindContentView(R.layout.menu_frame);

		if(savedInstanceState==null)

		{

			FragmentTransaction ft=this.getSupportFragmentManager().beginTransaction();

			frag=new SimpleFragment();

			ft.replace(R.id.menu_frame, frag);

			ft.commit();

		}else

		{

			frag=this.getSupportFragmentManager().findFragmentById(R.id.menu_frame);

			

		}

		

		SlidingMenu menu=this.getSlidingMenu();

		menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);

		menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

		this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);

		

	}

	

	@Override

	public boolean onOptionsItemSelected(MenuItem item) {

		// TODO Auto-generated method stub

		switch(item.getItemId())

		{

		case android.R.id.home:

			this.toggle();

			break;

		

			

		}

		return super.onOptionsItemSelected(item);

	}

}


 

public class MainActivity extends BaseActivity {



	public MainActivity() {

		super(R.string.main);

		// TODO Auto-generated constructor stub

	}



	@Override

	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

		

	}





}


相关的xml

 

main.xml

<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"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity" 

    android:id="@+id/main"

    >



   



</RelativeLayout>


menu_frame.xml

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent" 

    android:id="@+id/menu_frame"

    >

    



</FrameLayout>


simplefragment.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <ImageView 

        android:layout_width="fill_parent"

        android:layout_height="match_parent"

        android:src="@drawable/head"

        />



</LinearLayout>


最后还是用一个Fragment.java

public class SimpleFragment extends Fragment 

{

	@Override

	public View onCreateView(LayoutInflater inflater, ViewGroup container,

			Bundle savedInstanceState) {

		// TODO Auto-generated method stub

		System.out.println("onCreateViwe..............");

		View view=inflater.inflate(R.layout.simplefragment, container, false);

		return view;

	}

}


 效果图

Android开源项目SlidingMenu学习(二)

 

 

 Android开源项目SlidingMenu学习(二)

 

 

你可能感兴趣的:(android)