Android中如何使用DrawerLayout側(cè)滑控件,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司從2013年成立,先為宜君等服務(wù)建站,宜君等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為宜君企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。activity_sliding.xml:
通過上面的布局文件我們發(fā)現(xiàn) drawerlayout中的子布局分為content、left、right三部分,其中l(wèi)eft和right的布局需要在layout中聲明android:layout_gravity屬性,值分別是start和end。很顯然,drawerlayout布局類似一個大容器,超屏布局,將left的布局放在了控件的開始地方,right的布局放在了控件結(jié)尾的地方。
DrawerSlidingActivity.java:
import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.RelativeLayout; public class DrawwerSlidingActivity extends AppCompatActivity { // 抽屜菜單對象 private ActionBarDrawerToggle drawerbar; public DrawerLayout drawerLayout; private RelativeLayout main_left_drawer_layout, main_right_drawer_layout; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.activity_slidingmenu); initLayout(); initEvent(); } public void initLayout() { drawerLayout = (DrawerLayout) findViewById(R.id.main_drawer_layout); //設(shè)置菜單內(nèi)容之外其他區(qū)域的背景色 drawerLayout.setScrimColor(Color.TRANSPARENT); //左邊菜單 main_left_drawer_layout = (RelativeLayout) findViewById(R.id.main_left_drawer_layout); //右邊菜單 main_right_drawer_layout = (RelativeLayout) findViewById(R.id.main_right_drawer_layout); } //設(shè)置開關(guān)監(jiān)聽 private void initEvent() { drawerbar = new ActionBarDrawerToggle(this, drawerLayout, R.mipmap.ic_launcher, R.string.open, R.string.close) { //菜單打開 @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); } // 菜單關(guān)閉 @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); } }; drawerLayout.setDrawerListener(drawerbar); } //左邊菜單開關(guān)事件 public void openLeftLayout(View view) { if (drawerLayout.isDrawerOpen(main_left_drawer_layout)) { drawerLayout.closeDrawer(main_left_drawer_layout); } else { drawerLayout.openDrawer(main_left_drawer_layout); } } // 右邊菜單開關(guān)事件 public void openRightLayout(View view) { if (drawerLayout.isDrawerOpen(main_right_drawer_layout)) { drawerLayout.closeDrawer(main_right_drawer_layout); } else { drawerLayout.openDrawer(main_right_drawer_layout); } } }
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。