Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android-DrawerLayout介紹

Android-DrawerLayout介紹

編輯:關於Android編程

DrawerLayout已經出來很久了,個人覺得國內的app都深受ios的毒害在設計上都爭先模仿ios的風格,都忘了什麼是獨特的Android風格,自己得先學的然後跟產品爭取在項目中使用上一系列的Android風格,碰巧DrawerLayout菜單導航被我爭取到了,用到了項目上。

首先 DrawerLayout存在於v4包中,我們只需要在xml配置即可



    

    

在這需要介紹下ActionBarDrawerToggle,控制DrawerLayout的顯示/隱藏使用。
在Activity中的兩個回調函數中使用它:
onConfigurationChanged
onOptionsItemSelected
調用ActionBarDrawerToggle.syncState() 在Activity的onPostCreate()中;指示,ActionBarDrawerToggle與DrawerLayout的狀態同步,並將ActionBarDrawerToggle中的drawer圖標,設置為ActionBar的Home-Button的icon

public class DrawerActivity extends AppCompatActivity {

    DrawerLayout mDrawerLayout;
    ActionBarDrawerToggle toggle;

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

        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
        toggle = new ActionBarDrawerToggle(DrawerActivity.this, mDrawerLayout, R.string.hello_world, R.string.hello_world);
        mDrawerLayout.setDrawerListener(toggle);

        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle(TestDrawerLayout);
    }

    @Override
    public void onPostCreate(Bundle savedInstanceState) {
        super.onPostCreate(savedInstanceState);
        toggle.syncState();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        toggle.onConfigurationChanged(newConfig);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (toggle.onOptionsItemSelected(item))
            return true;
        return super.onOptionsItemSelected(item);
    }
}

以上幾步設置即可在項目中成功使用DrawerLayout,但是需要注意幾點:
1.android.support.v4.widget.DrawerLayout是存在於v4包下
2.主題需要顯示ActionBar,例如Theme.AppCompat.Light.DarkActionBar
3.ActionBarDrawerToggle是個DrawerListener實現,我們可以自己寫DrawerListener實現特定的要求。

我們可以發現獨具自帶的Android的風格我們使用起來也是很容易,而我們卻深受ios的影響太多了。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved