Android Drawerlayout實(shí)現(xiàn)側(cè)滑菜單效果
本文實(shí)例為大家分享了Drawerlayout側(cè)滑菜單的具體代碼,供大家參考,具體內(nèi)容如下
1、Drawerlayout的xml布局
<?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" tools:context="animtest.com.example.e531.drawerlayout_demo.MainActivity"> <!--側(cè)拉菜單--> <android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/drlayout"> <!--主頁(yè)面的布局--> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/fcontent"> </FrameLayout> <!--拉菜單的布局 android:layout_gravity="start" 菜單在左邊 end 菜單在右邊 --> <RelativeLayout android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="end" android:background="#ffff00" android:id="@+id/rel"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/ic_launcher" android:id="@+id/img"/> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lv" android:layout_below="@id/img"></ListView> </RelativeLayout> </android.support.v4.widget.DrawerLayout> </RelativeLayout>
2、在Activity中的具體使用方法
package animtest.com.example.e531.drawerlayout_demo; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.RelativeLayout; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView listView; private DrawerLayout drawerLayout; private RelativeLayout rel; private List<String> datas; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //查找組件 drawerLayout = (DrawerLayout) findViewById(R.id.drlayout); listView = (ListView) findViewById(R.id.lv); rel = (RelativeLayout) findViewById(R.id.rel); //構(gòu)造數(shù)據(jù) datas = new ArrayList<String>(); for(int i=0;i<10;i++){ datas.add("菜單"+i); } //設(shè)置數(shù)組適配器 ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, datas); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //關(guān)閉側(cè)滑菜單 drawerLayout.closeDrawer(rel); //drawerLayout.openDrawer(rel);//打開(kāi)側(cè)滑菜單 //設(shè)置參數(shù) ContentFragment contentFragment=new ContentFragment(); Bundle bundle=new Bundle(); bundle.putString("value",datas.get(position)); contentFragment.setArguments(bundle); //切換fragment getSupportFragmentManager().beginTransaction().replace(R.id.fcontent,contentFragment).commit(); } }); drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() { //slideOffset:側(cè)滑菜單 寬度的像素值 @Override public void onDrawerSlide(View drawerView, float slideOffset) { } @Override public void onDrawerOpened(View drawerView) { Log.d("zzz","open"); } @Override public void onDrawerClosed(View drawerView) { Log.d("zzz","close"); } @Override public void onDrawerStateChanged(int newState) { Log.d("zzz","狀態(tài)改變:"+newState); } }); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android側(cè)滑菜單之DrawerLayout用法詳解
- Android自定義實(shí)現(xiàn)側(cè)滑菜單效果
- Android實(shí)現(xiàn)QQ側(cè)滑菜單效果
- Android側(cè)滑菜單控件DrawerLayout使用詳解
- android側(cè)滑菜單控件DrawerLayout使用方法詳解
- Android使用DrawerLayout實(shí)現(xiàn)雙向側(cè)滑菜單
- Android中DrawerLayout實(shí)現(xiàn)側(cè)滑菜單效果
- android實(shí)現(xiàn)左右側(cè)滑菜單效果
- Android使用DrawerLayout實(shí)現(xiàn)側(cè)滑菜單效果
- Android實(shí)現(xiàn)側(cè)滑菜單DrawerLayout
相關(guān)文章
Android App開(kāi)發(fā)中HTTP擴(kuò)展包OkHttp的入門(mén)使用指南
OkHttp包為安卓開(kāi)發(fā)中基于HTTP協(xié)議的網(wǎng)絡(luò)編程提供了很大便利,這里我們就來(lái)看一下Android App開(kāi)發(fā)中HTTP擴(kuò)展包OkHttp的入門(mén)使用指南:2016-07-07如何在android中制作一個(gè)方向輪盤(pán)詳解
這篇文章主要給大家介紹了關(guān)于如何在android中制作一個(gè)方向輪盤(pán)的相關(guān)資料,這個(gè)是在手游領(lǐng)域中很常見(jiàn)的用于控制方向的輪盤(pán),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09Android樹(shù)形控件的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Android樹(shù)形控件的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android 開(kāi)發(fā)環(huán)境配置問(wèn)題
手機(jī)軟件開(kāi)發(fā)IDE,本人在同時(shí)使用 Eclipse 和 Netbeans 后,感覺(jué) Eclipse 更適合自己2012-04-04Android應(yīng)用中使用TabHost組件繼承TabActivity的布局方法
這篇文章主要介紹了Android應(yīng)用中使用TabHost組件繼承TabActivity的布局方法,文中分別介紹了以Activity和以布局文件進(jìn)行布局的方式,需要的朋友可以參考下2016-04-04Android自定義view實(shí)現(xiàn)滑動(dòng)解鎖效果
這篇文章主要為大家詳細(xì)介紹了Android自定義view實(shí)現(xiàn)滑動(dòng)解鎖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05