選單欄的側滑
<android.support.v4.widget.DrawerLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".MainActivity"
android:id="@+id/draw"
>
<android.support.design.widget.NavigationView
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/nav"
app:headerLayout="@layout/head_image"
android:layout_gravity=“start”
app:menu="@menu/main"
></android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
MainActivity
package com.example.week2;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ImageView img; private TextView sy; private TextView video; private TextView mine; private FragmentManager manager; private ArrayList<Fragment> list; private FrameLayout frameLayout; private NavigationView nav; private DrawerLayout draw; private OneFragment oneFragment; private TwoFragment twoFragment; private ThreeFragment threeFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化資料 initDatas(); initView(); } private void initDatas() { oneFragment = new OneFragment(); twoFragment = new TwoFragment(); threeFragment = new ThreeFragment(); } private void initView() { video = (TextView) findViewById(R.id.video); mine = (TextView) findViewById(R.id.mine); manager = getSupportFragmentManager(); frameLayout = (FrameLayout) findViewById(R.id.frameLayout); nav = (NavigationView) findViewById(R.id.nav); draw = (DrawerLayout) findViewById(R.id.draw); nav.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { switch (menuItem.getItemId()){ case R.id.first: manager.beginTransaction().replace(R.id.frameLayout,oneFragment).commit(); draw.closeDrawers(); break; case R.id.video: manager.beginTransaction().replace(R.id.frameLayout,twoFragment).commit(); draw.closeDrawers(); break; case R.id.mine: manager.beginTransaction().replace(R.id.frameLayout,threeFragment).commit(); draw.closeDrawers(); break; } return false; } }); }
}
Menu檔案