English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In android support.v4 c'è un controllo di vista a scomparsa DrawerLayout. Utilizzando questo controllo, è possibile aprire o chiudere il menu scorrendo orizzontalmente sullo schermo, offrendo un'esperienza utente eccellente.
DrawerLayout è diviso in due parti: il menu laterale e l'area di contenuto principale. Il menu laterale può essere espanso e nascosto tramite gesti, mentre l'area di contenuto principale può cambiare quando si clicca sul menu. In realtà, DrawerLayout è un controllo, simile a LinearLayout, e può essere utilizzato direttamente.
Attributi di DrawerLayout
1、drawerPosition:specifica che il drawer si muoverà da un lato dello schermo.
2、drawerWidth : specifica la larghezza del drawer, ossia la larghezza più precisa dal margine dello schermo fino alla vista.
3、keyboardDismissMode: Determina se la tastiera risponde al respingimento del trascinamento.
4、onDrawerClose: La funzione viene chiamata quando la vista di navigazione viene chiusa.
5、onDrawerOpen: La funzione viene chiamata quando la vista di navigazione viene aperta.
6、onDrawerSlide: La funzione viene chiamata durante l'interazione con la vista di navigazione.
7、onDrawerStateChanged: La funzione viene chiamata quando lo stato del Drawer cambia, il drawer ha 3 stati:
8、renderNavigationView: La mappa di navigazione verrà visualizzata sul lato dello schermo e può essere estratta.
Esempio
Utilizzo delle dipendenze importate
compile 'com.android.support:appcompat-v7:24.2.1'
File di layout
<?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(); drawerLayout.closeDrawer(Gravity.LEFT); 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(); drawerLayout.closeDrawer(Gravity.LEFT); 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.closeDrawer(Gravity.LEFT); }); drawerLayout.openDrawer(Gravity.LEFT);//Apertura laterale non impostata non verrà aperto per default drawerLayout.closeDrawer(Gravity.LEFT); private void showDrawerLayout() { if (!drawerLayout.isDrawerOpen(Gravity.LEFT)) { drawerLayout.openDrawer(Gravity.LEFT); else { } drawerLayout.closeDrawer(Gravity.LEFT); drawerLayout.closeDrawer(Gravity.LEFT); drawerLayout.closeDrawer(Gravity.LEFT);
}
Effetto di esecuzione come nella figura:Indirizzo di download:
Drawerlayout_jb51.rar
Questo è tutto il contenuto dell'articolo, speriamo che sia utile per il tuo studio e che tu sostenga attivamente la guida Yell.