国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android布局控件DrawerLayout實現完美側滑效果

2019-10-21 21:41:06
字體:
來源:轉載
供稿:網友

drawerLayout其實是一個布局控件,跟LinearLayout等控件是一樣的,但是drawerLayout帶有滑動的功能。只要按照drawerLayout的規定布局方式寫完布局,就能有側滑的效果。

1)在DrawerLayout中,第一個子View必須是顯示內容的view,并且設置它的layout_width和layout_height屬性是match_parent.

2)第二個view是抽屜view,并且設置屬性layout_gravity="left|right",表示是從左邊滑出還是右邊滑出。設置它的layout_height="match_parent"

ActionBarDrawerToggle就是DrawerLayout事件的監聽器。
ActionBarDrawerToggle有3個方法可以被復寫,分別用來實現DrawerLayout打開,關閉,滑動的事件監聽:

  • onDrawerOpened DrawerLayout滑出時調用
  • onDrawerClosed DrawerLayout關閉時調用
  • onDrawerSlide DrawerLayout滑動時調用

drawerLayout布局代碼:

<android.support.v4.widget.DrawerLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:id="@+id/drawer_layout"  >  //主內容  <FrameLayout    android:id="@+id/content_frame"    android:layout_width="match_parent"    android:layout_height="match_parent">     <TextView      android:gravity="center"      android:id="@+id/drawer_text"      android:layout_width="match_parent"      android:layout_height="wrap_content"      android:text="123"/>  </FrameLayout>  //側滑菜單  <ListView    android:id="@+id/left_drawer"    android:layout_width="40dp"    android:layout_height="match_parent"    android:layout_gravity="start"    android:choiceMode="singleChoice"    android:divider="@android:color/transparent"    android:dividerHeight="0dp"    android:background="#111" /></android.support.v4.widget.DrawerLayout>

mainactivity.java代碼

package com.example.wxj.drawerlayoutlearen; import android.support.v4.widget.DrawerLayout;import android.support.v7.app.ActionBarDrawerToggle;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ListView;import android.widget.TextView; public class MainActivity extends AppCompatActivity {   private DrawerLayout mDrawerLayout;  private TextView view;  private ListView mDrawerList;  private ActionBarDrawerToggle mDrawerToggle;  private CharSequence mDrawerTitle;  private CharSequence mTitle;  private String[] mPlanetTitles;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);    view = (TextView)findViewById(R.id.drawer_text);     mDrawerToggle = new ActionBarDrawerToggle(        this,        mDrawerLayout,        R.string.open,        R.string.close    ){      @Override      public void onDrawerClosed(View drawerView) {        super.onDrawerClosed(drawerView);        view.setText("close");      }       @Override      public void onDrawerOpened(View drawerView) {        super.onDrawerOpened(drawerView);        view.setText("dakai");      }       @Override      public void onDrawerSlide(View drawerView, float slideOffset) {        super.onDrawerSlide(drawerView, slideOffset);        view.setText("huachu");      }    };     mDrawerLayout.setDrawerListener(mDrawerToggle);    }}

string.xml代碼

<resources>  <string name="app_name">DrawerLayoutlearen</string>  <string name="open" />  <string name="close" /></resources>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陵川县| 涞水县| 承德县| 孟州市| 崇义县| 汨罗市| 澎湖县| 龙胜| 临高县| 北流市| 永顺县| 固安县| 清新县| 布尔津县| 青田县| 永川市| 来宾市| 舒城县| 开鲁县| 闵行区| 巴彦淖尔市| 阿巴嘎旗| 屯留县| 博白县| 双柏县| 上高县| 阳城县| 上饶县| 夏津县| 宽甸| 馆陶县| 沂水县| 黔西县| 民勤县| 清水河县| 青铜峡市| 盘锦市| 阿鲁科尔沁旗| 和平区| 浙江省| 铁岭市|