真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在Android中使用DrawerLayout側(cè)滑控件-創(chuàng)新互聯(lián)

如何在Android中使用DrawerLayout側(cè)滑控件?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),慶元網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:慶元等地區(qū)。慶元做網(wǎng)站價(jià)格咨詢:18980820575

DrawerLayout 類的結(jié)構(gòu)圖如下:

如何在Android中使用DrawerLayout側(cè)滑控件

官方中文簡介大概如下:

DrawerLayout作為窗口內(nèi)容的頂層容器,允許從窗口的一個(gè)或兩個(gè)垂直邊緣拉出交互式“抽屜”視圖。

抽屜定位和布局使用android:layout_gravity 子視圖對應(yīng)的屬性進(jìn)行控制,對應(yīng)于您希望抽屜從哪個(gè)側(cè)面出現(xiàn):左側(cè)或右側(cè)(或支持布局方向的平臺版本上的開始/結(jié)束)。請注意,您只能窗口的每個(gè)垂直邊緣的一個(gè)抽屜視圖。如果您的布局在窗口的每個(gè)垂直邊緣配置多個(gè)抽屜視圖,則會(huì)在運(yùn)行時(shí)拋出異常。

3、DrawerLayout 的使用

一般使用 DrawerLayout 側(cè)滑菜單,可以通過 Toolbar + DrawerLayout來實(shí)現(xiàn)。

在res/layout 中,新建一個(gè)toolbar.xml文件



在新建一個(gè)drawerlayout.xml布局



  
  
  
  
  

    

      
    

    
  

主布局activity_main.xml:


  
  
  
  

MainActivity.java:

public class MainActivity extends AppCompatActivity {

  protected boolean statusBarCompat = true;
  private static long DOUBLE_CLICK_TIME = 0L;

  //聲明相關(guān)變量
  private Toolbar toolbar;
  private DrawerLayout mDrawerLayout;
  private ActionBarDrawerToggle mDrawerToggle;
  private ListView lvLeftMenu;
  private String[] lvs = {"Android", "iOS", "Python", "Html5", "Java"};
  private ArrayAdapter arrayAdapter;

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

    if (statusBarCompat) {
      StatusBarCompat.compat(this, ContextCompat.getColor(this, R.color.colorPrimary));
      transparent19and20();
    }

    findViews(); //獲取控件

    toolbar.setTitle("Drawerlayout");//設(shè)置Toolbar標(biāo)題
    toolbar.setTitleTextColor(Color.parseColor("#ffffff")); //設(shè)置標(biāo)題顏色
    setSupportActionBar(toolbar);
    getSupportActionBar().setHomeButtonEnabled(true); //設(shè)置返回鍵可用
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    //創(chuàng)建返回鍵,并實(shí)現(xiàn)打開關(guān)/閉監(jiān)聽
    mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.open, R.string.close) {
      @Override
      public void onDrawerOpened(View drawerView) {
        super.onDrawerOpened(drawerView);
      }
      @Override
      public void onDrawerClosed(View drawerView) {
        super.onDrawerClosed(drawerView);
      }
    };
    mDrawerToggle.syncState();
    mDrawerLayout.addDrawerListener(mDrawerToggle);
    //設(shè)置菜單列表
    arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, lvs);
    lvLeftMenu.setAdapter(arrayAdapter);

    lvLeftMenu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView parent, View view, int position, long id) {
        Toast.makeText(MainActivity.this, "點(diǎn)擊"+position , Toast.LENGTH_SHORT).show();
      }
    });

  }
  //返回鍵監(jiān)聽
  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_MENU && mDrawerLayout != null) {
      if (mDrawerLayout.isDrawerOpen(Gravity.LEFT)) {
        mDrawerLayout.closeDrawer(Gravity.LEFT);
      } else {
        mDrawerLayout.openDrawer(Gravity.LEFT);
      }
      return true;
    } else if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
      if (mDrawerLayout.isDrawerOpen(Gravity.LEFT)) {
        mDrawerLayout.closeDrawer(Gravity.LEFT);
      } else {
        if ((System.currentTimeMillis() - DOUBLE_CLICK_TIME) > 2000) {
          Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_SHORT).show();
          DOUBLE_CLICK_TIME = System.currentTimeMillis();
        } else {
          finish();
        }
      }
      return true;
    }
    return super.onKeyDown(keyCode, event);
  }

  protected void transparent19and20() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT
        && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
      getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
  }

  private void findViews() {
    toolbar = (Toolbar) findViewById(R.id.tl_custom);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.dl_left);
    lvLeftMenu = (ListView) findViewById(R.id.lv_left_menu);
  }
}

關(guān)于如何在Android中使用DrawerLayout側(cè)滑控件問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


網(wǎng)站標(biāo)題:如何在Android中使用DrawerLayout側(cè)滑控件-創(chuàng)新互聯(lián)
本文URL:http://weahome.cn/article/dhjipc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部