Android SlideMenu

第三方組件 SlideMenu 實現步驟與主要方法:

1、構建SlidingMenu menu=new SlidingMenu(context)
2、設置模式爲左側邊欄  menu.setMode(SlidingMenu.LEFT);
3、設置菜單
View menuView=LayoutInflater.from(this).inflate(news_silding_menu, null);
menu.setMenu(menuView);
4、使SlidingMenu附加在Activity上,滑動可出現側邊欄
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
5、開啓菜單
        menu.toggle();//動態判斷自動關閉或開啓SlidingMenu
       menu.showMenu();//顯示SlidingMenu


顯示側邊欄代碼:

slidingMenu = new SlidingMenu(this);                     //new一個側邊欄 slidingMenu.setMode(SlidingMenu.LEFT_RIGHT); 

slidingMenu.setMenu(menuView_L);                      //將佈局加載到側欄

slidingMenu.setSecondaryMenu(v1); slidingMenu.setBehindWidth(300);            //側邊欄出來的寬度 slidingMenu.setBehindOffset(380);                                                                            //剩餘部分的寬度  

slidingMenu.setFadeDegree(0.35f);  

slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);                //側邊欄執行開始


SlidingMenu 常用屬性介紹

mSlidingMenu.setMode(SlidingMenu.LEFT);//設置左滑菜單
mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//設置滑動的屏幕範圍,該設置爲全屏區域都可以滑動
mSlidingMenu.setShadowDrawable(R.drawable.shadow);//設置陰影圖片
mSlidingMenu.setShadowWidthRes(R.dimen.shadow_width);//設置陰影圖片的寬度
mSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//SlidingMenu劃出時主頁面顯示的剩餘寬度
mSlidingMenu.setBehindWidth(400);//設置SlidingMenu菜單的寬度
mSlidingMenu.setFadeDegree(0.35f);//SlidingMenu滑動時的漸變程度
mSlidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//使SlidingMenu附加在Activity上
mSlidingMenu.setMenu(R.layout.menu_layout);//設置menu的佈局文件
mSlidingMenu.toggle();//動態判斷自動關閉或開啓SlidingMenu
mSlidingMenu.showMenu();//顯示SlidingMenu
mSlidingMenu.showContent();//顯示內容
mSlidingMenu.setOnOpenListener(onOpenListener);//監聽SlidingMenu打開
關於關閉menu有兩個監聽,簡單的來說,對於menu close事件,一個是when,一個是after 
mSlidingMenu.OnClosedListener(OnClosedListener);//監聽SlidingMenu關閉時事件
mSlidingMenu.OnClosedListener(OnClosedListener);//監聽SlidingMenu關閉後事件
mSlidingMenu.setMode(SlidingMenu.LEFT_RIGHT);//設置左右都可以劃出SlidingMenu菜單
mSlidingMenu.setSecondaryMenu(R.layout.frame_menu);//設置右側菜單的佈局文件
mSlidingMenu.setSecondaryShadowDrawable(R.drawable.shadowright);//右側菜單的陰影圖片


練習:實現側邊欄效果,並且點擊會出現已點擊。

佈局:

<?xml version="1.0" encoding="utf-8"?>
<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:background="#433d3d"
    tools:context="com.example.administrator.jreduch03.zuoye2Activity">
    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:stretchColumns="0,1,2">
        <TableRow>
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                android:layout_weight="1"
                />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                android:layout_weight="1"
                />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                android:layout_weight="1"
                />
        </TableRow>
        <TextView
            android:text="更多登錄方式"
            android:id="@+id/tv"
            android:gravity="center"
            android:textSize="16sp"
            android:textColor="#ffffff"
            />

        <LinearLayout
            android:id="@+id/ll1">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    搜索"
                android:textSize="40sp"
                android:onClick="sousuo"
                android:id="@+id/tv1"
                />
        </LinearLayout>
        <LinearLayout
            >
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    收藏"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    通知"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    活動"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    設置"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/jietu"
                android:src="@mipmap/jietu1"
                android:layout_weight="1"
                />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/jietu1"
                android:layout_weight="1"
                />
        </LinearLayout>
        <TableLayout
            android:stretchColumns="0,1">
            <TableRow>
                <TextView
                    android:text="離線"
                    android:textSize="20sp"
                    android:gravity="center"
                    />
                <TextView
                    android:text="夜間"
                    android:textSize="20sp"
                    android:gravity="center"
                    />
            </TableRow>
        </TableLayout>
    </TableLayout>
</RelativeLayout>


佈局效果:

代碼:

package com.example.administrator.jreduch05;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

public class SlidingMenuActivity extends AppCompatActivity {
    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sliding_menu);

        SlidingMenu slidingMenu=new SlidingMenu(this);
        View view =getLayoutInflater().inflate(R.layout.activity_zuoye82_2,null);
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        //設置屏幕滑動範圍
        slidingMenu.setMenu(view);
        //設置左側滑動佈局
        slidingMenu.setMode(SlidingMenu.LEFT);
        slidingMenu.setBehindOffset(380);
        //設置滑出後屏幕剩餘寬度
        slidingMenu.setFadeDegree(0.35f);
        //滑出後動畫效果
        slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        //附加到Activity
        tv=(TextView) findViewById(R.id.tv1);
    }
    public void sousuo(View view){
        tv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getBaseContext(),
                        "點擊了搜索",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

效果:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章