AndroidレイアウトコントロールDrawerLayoutは完璧な横滑り効果を実現します。


drawerLayoutはレイアウトコントロールで、Lineear Layoutなどのコントロールと同じですが、drawerLayoutはスライド機能を持っています。drawerLayoutの決められたレイアウトに従ってレイアウトを書き上げれば、横滑りの効果があります。
1)DrawerLayoutでは、最初のサブViewはコンテンツを表示するviewでなければならず、そのラyout_を設定する。widthとlayout_height属性はmatch_です。parent.
2)2番目のviewは引き出しviewであり、属性を設定するlayout_gravity=「left𞓜right」は左から滑り出すか右から滑り出すかを表します。そのラyout_を設定しますheight=「match_」parent"
アクションBar DrawerTogleはDrawerLayout事件のモニターです。
アクションBarDrawerTogleには3つの方法があり、それぞれDrawerLayoutを開くこと、閉じること、スライドすることができるイベントの傍受を実現するために使用されます。
  • onDrawerOpened DrawerLayoutが滑った時に
  • を呼び出します。
  • onDrawerCloed 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>
    manactivity.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>
    以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。