91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android之側滑菜單DrawerLayout的使用介紹

發布時間:2020-08-26 16:02:02 來源:腳本之家 閱讀:184 作者:切切歆語 欄目:移動開發

在android support.v4 中有一個抽屜視圖控件DrawerLayout。使用這個控件,可以生成通過在屏幕上水平滑動打開或者關閉菜單,能給用戶一個不錯的體驗效果。

DrawerLayout分為側邊菜單和主內容區兩部分,側邊菜單可以根據手勢展開與隱藏,主內容區的部分可以隨著菜單的點擊而變化。DrawerLayout其實是一個控件,跟LinearLayout差不多,直接使用即可。

DrawerLayout屬性

1、drawerPosition:指定 drawer 將從屏幕的一側滑動。

2、drawerWidth :指定 drawer 的寬度,即從窗口的邊緣拉到視圖更精確的寬度。

3、keyboardDismissMode :確定鍵盤是否響應拖動被駁回。

  • 'none' (默認值), 拖動不影響鍵盤。
  • 'on-drag', 拖動開始,鍵盤被駁回。

4、onDrawerClose :導航視圖關閉時調用函數。

5、onDrawerOpen :導航視圖打開時調用函數。

6、onDrawerSlide :與導航視圖交互時調用函數。

7、onDrawerStateChanged :當 Drawer 狀態發生變化時調用函數,drawer 有 3 種狀態: 

  •  idle -- 表示與導航視圖沒有交互
  •  dragging -- 表示目前有與導航視圖的交互
  •  settling -- 表示有與導航視圖的交互,并且導航視圖正在的關閉或打開。

8、renderNavigationView :導航圖將被渲染到屏幕的一側,并且可以拉出。

案例

使用導入依賴庫

compile 'com.android.support:appcompat-v7:24.2.1' 

布局文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/v4_drawerlayout"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <FrameLayout
    android:id="@+id/v4_drawerlayout_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:id="@+id/v4_text"
      android:textSize="22sp"
      android:textColor="@color/colorAccent"
      android:gravity="center"
      />
  </FrameLayout>

  <ListView
    android:layout_width="200dp"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    android:id="@+id/v4_listview"
    android:choiceMode="singleChoice"
    android:background="@android:color/white" />

</android.support.v4.widget.DrawerLayout> 

Activity

public class DrawerActivity extends AppCompatActivity {

  private ListView listView;

  private DrawerLayout drawerLayout;

  private TextView textView;

  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.drawer_activity);
    initView();
  }

  private void initView()
  {
    listView=(ListView) findViewById(R.id.v4_listview);
    drawerLayout=(DrawerLayout) findViewById(R.id.v4_drawerlayout);
    textView=(TextView) findViewById(R.id.v4_text);
    initDate();
  }

  private void initDate(){
    final List<String> list = new ArrayList<String>();
    list.add("網易");
    list.add("騰訊");
    list.add("新浪");
    list.add("搜狐");
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        textView.setText(list.get(position));
        showDrawerLayout();
      }
    });
    drawerLayout.openDrawer(Gravity.LEFT);//側滑打開 不設置則不會默認打開
  }

  private void showDrawerLayout() {
    if (!drawerLayout.isDrawerOpen(Gravity.LEFT)) {
      drawerLayout.openDrawer(Gravity.LEFT);
    } else {
      drawerLayout.closeDrawer(Gravity.LEFT);
    }
  }
} 

運行效果如圖:

Android之側滑菜單DrawerLayout的使用介紹

下載地址:Drawerlayout_jb51.rar

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聂荣县| 乡宁县| 黔东| 武夷山市| 中方县| 潞西市| 乐山市| 库伦旗| 荔波县| 武夷山市| 西贡区| 凌海市| 门源| 新邵县| 佛学| 拜泉县| 锡林郭勒盟| 陇南市| 瑞昌市| 三门峡市| 资中县| 陆川县| 团风县| 璧山县| 蒲江县| 开封县| 仪征市| 松阳县| 肃宁县| 特克斯县| 称多县| 会理县| 剑河县| 徐州市| 昔阳县| 天峻县| 余干县| 泽州县| 宁明县| 林口县| 疏勒县|