国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android DrawerLayout帶有側滑功能的布局類(1)

2019-12-12 05:58:26
字體:
來源:轉載
供稿:網友

DrawerLayout顧名思義就是一個管理布局的。使用方式可以與其它的布局類類似。
DrawerLayout帶有滑動的功能。只要按照drawerLayout的規定布局方式寫完布局,就能有側滑的效果。
直接將DrawerLayout作為根布局,然后其內部 

  第一個View為內容區域

  第二個View為左側菜單   

       第三個View為右側側滑菜單 

當前第三個是可選的。
使用的包如下: 
import android.support.v4.widget.DrawerLayout; 

使用這些包的時候有時有的會報錯。這時候確保android.support.v4是不是最新的版本。
 可以更新一下support包,文件存放在sdk/extres/support中。
 然后可以通過eclipse>project right click>Android Tools>Add Support library…
 或者可以直接把文件復制到Project中libs文件夾中。 

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout  android:id="@+id/content_frame"  android:layout_width="match_parent"  android:layout_height="match_parent" /> <ListView  android:id="@+id/left_drawer"  android:layout_width="240dp"  android:layout_height="match_parent"  android:layout_gravity="start"  android:choiceMode="singleChoice"  android:divider="@android:color/transparent"  android:dividerHeight="0dp"  android:background="#111"/></android.support.v4.widget.DrawerLayout>

Drawer positioning and layout is controlled using the android:layout_gravity attribute on child views corresponding to which side of the view you want the drawer to emerge from: left or right.
 (Or start/end on platform versions that support layout direction.)
 也就是說
  android:layout_gravity="start" 相當于左側的MENU向右滑動即顯示菜單,LEFT/START(RIGHT/END)
那么從布局文件中可知:
 FrameLayout是內容區, ListView是左側菜單。
我們需做一個Fragment來裝載內容: 

public class PageFragment extends Fragment {  public final static String ITEM_POSITION_NUMBER = "item_position_num";  public PageFragment(){}  @Override  public View onCreateView(LayoutInflater inflater, ViewGroup container,    Bundle savedInstanceState) {   View convertView = inflater.inflate(R.layout.page_fragment_layout, null);   TextView tv = (TextView) convertView.findViewById(R.id.textView);   int num = getArguments().getInt(ITEM_POSITION_NUMBER);   //從res/array中獲取list數據   String[] dynastyList = getResources().getStringArray(R.array.list_item);   tv.setText(dynastyList[num]);   return convertView;  } }

代碼中可以看出當我們在左側菜單中選擇SelectItem時會把對應的值顯示到內容區。
代碼中的page_fragment_layout.xml僅是FrameLayout內加一個TextView所以就不貼代碼了。
接下來我們需要把listView進行填充數據。 

private ListView menuList;private String[] mMenuTitles;private String[] historyTitles;private String[] musicTitles;private String[] movieTitles;private String[] listTitles;     // 歷史欄  historyTitles = getResources().getStringArray(R.array.history);  // 音樂欄  musicTitles = getResources().getStringArray(R.array.music);  // 電影欄  movieTitles = getResources().getStringArray(R.array.movie);  // 標題數組  mMenuTitles = getResources().getStringArray(R.array.title);  // 每一

主站蜘蛛池模板:
泰和县|
鄂温|
阳高县|
武平县|
曲水县|
朝阳区|
福州市|
禄劝|
怀仁县|
黎川县|
京山县|
色达县|
齐齐哈尔市|
木兰县|
博野县|
新绛县|
监利县|
静乐县|
确山县|
高碑店市|
花莲市|
扶沟县|
合川市|
荔波县|
任丘市|
苏尼特右旗|
株洲县|
海阳市|
无为县|
周口市|
北票市|
河津市|
平塘县|
嘉兴市|
南丰县|
乌鲁木齐县|
邵阳县|
凤山县|
平泉县|
彰化县|
东辽县|