SlidingMenu http://www.cnblogs.com/iMirror/p/3994845.html
蓝牙 http://www.cnblogs.com/iMirror/p/3967898.html
根据SlidingMenu博客, 写出下面代码
activity_main.xml
1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:id="@+id/container" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 tools:context="com.example.usingslidingmenu.MainActivity" 7 tools:ignore="MergeRootFrame" />
fragment_main.xml
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 6 tools:context="com.example.usingslidingmenu.MainActivity$PlaceholderFragment" > 7 8 <TextView 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:text="@string/hello_world" /> 12 13 </RelativeLayout>
slidingmenu.xml 滑出的页面有一个listview
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:background="#404040" 6 android:orientation="vertical" > 7 8 <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu 9 android:id="@+id/slidingMenuLayoutId" 10 android:layout_width="fill_parent" 11 android:layout_height="fill_parent"> 12 13 <ListView 14 android:id="@+id/listViewId" 15 android:layout_width="fill_parent" 16 android:layout_height="match_parent" 17 > 18 </ListView> 19 </com.jeremyfeinstein.slidingmenu.lib.SlidingMenu> 20 21 </LinearLayout>
sliding_listview.xml //具体描写ListView内容
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:id="@+id/myListViewItem" 6 android:orientation="vertical" > 7 8 <TextView 9 android:id="@+id/textViewItemTitle" 10 android:layout_height="60dp" 11 android:layout_width="fill_parent" 12 android:padding="11dp" 13 android:layout_marginLeft="30dp" 14 android:textColor="#FFFFFF" 15 android:textSize="25sp"> 16 </TextView> 17 <TextView 18 android:id="@+id/textViewItemText" 19 android:layout_height="wrap_content" 20 android:layout_width="fill_parent" 21 android:textColor="#FFFFFF"> 22 </TextView> 23 24 </LinearLayout>
在MainActivity中
1 package com.example.usingslidingmenu; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 6 import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; 7 import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.OnOpenListener; 8 import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.OnOpenedListener; 9 10 import android.app.Activity; 11 import android.app.ActionBar; 12 import android.app.AlertDialog; 13 import android.app.Fragment; 14 import android.bluetooth.BluetoothAdapter; 15 import android.content.Intent; 16 import android.os.Bundle; 17 import android.view.KeyEvent; 18 import android.view.LayoutInflater; 19 import android.view.Menu; 20 import android.view.MenuItem; 21 import android.view.View; 22 import android.view.ViewGroup; 23 import android.widget.ListView; 24 import android.widget.SimpleAdapter; 25 import android.widget.Toast; 26 import android.os.Build; 27 28 29 public class MainActivity extends Activity { 30 31 private SlidingMenu slidingMenu; 32 private BluetoothAdapter myBluetoothAdapter; 33 34 @Override 35 protected void onCreate(Bundle savedInstanceState) { 36 super.onCreate(savedInstanceState); 37 setContentView(R.layout.activity_main); 38 39 //Sliding Region 40 slidingMenu = new SlidingMenu(this); 41 slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 42 slidingMenu.setMode(slidingMenu.LEFT); 43 slidingMenu.setBehindOffsetRes(R.dimen.sliding_menu_offset); 44 slidingMenu.setTouchModeAbove(slidingMenu.TOUCHMODE_FULLSCREEN); 45 slidingMenu.setMenu(R.layout.slidingmenu); 46 47 SlidingMenuOpenListener openListener = new SlidingMenuOpenListener(); 48 slidingMenu.setOnOpenedListener(openListener); 49 50 //ListView Region 51 52 } 53 54 @Override 55 public boolean onKeyDown(int keyCode, KeyEvent event) { 56 // TODO Auto-generated method stub 57 switch (keyCode) { 58 case KeyEvent.KEYCODE_MENU: 59 slidingMenu.toggle(true); 60 break; 61 default: 62 break; 63 } 64 return false; 65 } 66 67 class SlidingMenuOpenListener implements OnOpenedListener{ //打开slidingMenu之后触发 68 @Override 69 public void onOpened() { 70 // TODO Auto-generated method stub 71 Toast.makeText(getApplicationContext(), "hehe", 3).show(); 72 ListView myListView = (ListView)findViewById(R.id.listViewId); 73 ArrayList<HashMap<String,String>> myListViewItem = new ArrayList<HashMap<String,String>>(); 74 75 HashMap<String,String> map = new HashMap<String,String>(); //每次生成一个map再添加到List里面去 76 77 map.put("Title","TiTle is :"); 78 map.put("Text", "Text is :"); 79 myListViewItem.add(map); 80 SimpleAdapter myAdapter = new SimpleAdapter(getApplicationContext(),//此参数很重要,不是this了!!!!! 81 myListViewItem, //数据来源 82 R.layout.sliding_listview, //Listview的xml实现 83 new String[]{"Title","Text"}, //动态数组与ListItem对应 84 new int[]{R.id.textViewItemTitle,R.id.textViewItemText}); //listView的xml中两个textView的Id 85 myListView.setAdapter(myAdapter); 86 } 87 } 88 }
至此可以实现, 滑开slidingmenu之后出现hehe, 然后更新Listview内容
接下来进行添加蓝牙功能