<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/gen" > <!--先写主背景--> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/zhubeijing" android:orientation="vertical" > <ImageView android:clickable="true" android:id="@+id/touxiang" android:padding="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/ic_launcher" /> <com.example.diantouxiangcehua.view.XListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/xlist_view" > </com.example.diantouxiangcehua.view.XListView> </LinearLayout> <RelativeLayout android:layout_width="250dp" android:layout_height="match_parent" android:background="#ffffff" android:layout_gravity="left" android:id="@+id/cemian" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是侧面" /> </RelativeLayout> </android.support.v4.widget.DrawerLayout>
代码===============================================
package com.example.a10_drawerlayout_demo;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends FragmentActivity {
private DrawerLayout drawerLayout;
private ListView listView;
private FrameLayout frameLayout;
private RelativeLayout relativeLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//抽屉的跟布局
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
//选项的菜单
listView = (ListView) findViewById(R.id.list_view);
//主内容区域的布局
frameLayout = (FrameLayout) findViewById(R.id.frame_layout);
//抽屉显示的布局
relativeLayout = (RelativeLayout) findViewById(R.id.relative_layout);
final List<String> list = new ArrayList<>();
for (int i = 1; i<10;i++){
list.add(i+"");
}
//设置适配器
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, list);
listView.setAdapter(arrayAdapter);
//条目的点击事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//要有一个fragment替换后面主内容的frameLayout
WeiXinFragment weiXinFragment = new WeiXinFragment();
//传值过去
Bundle bundle = new Bundle();
bundle.putString("key",list.get(i));
weiXinFragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,weiXinFragment).commit();
//关闭抽屉
drawerLayout.closeDrawer(relativeLayout);
}
});
}
}
==代码 点击头像侧滑显示================================================
package com.example.diantouxiangcehua; import android.os.AsyncTask; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.example.diantouxiangcehua.view.XListView; import com.google.gson.Gson; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.text.SimpleDateFormat; import java.time.chrono.MinguoChronology; import java.util.ArrayList; import java.util.Date; import java.util.List; public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private ImageView imageView; private RelativeLayout cemian; private DrawerLayout gen; private LinearLayout zhubeijing; private XListView xlistView; private MyAdapter myAdapter; //大的集合存放数据,,涉及到xlistview private List<DBean.ResultBean.RowsBean> list =new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.touxiang); cemian = (RelativeLayout) findViewById(R.id.cemian); //根布局 gen = (DrawerLayout) findViewById(R.id.gen); //主背景 zhubeijing = (LinearLayout) findViewById(R.id.zhubeijing); xlistView = (XListView) findViewById(R.id.xlist_view); //设置 xlistView.setXListViewListener(this); xlistView.setPullLoadEnable(true); xlistView.setPullRefreshEnable(true); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //如果没有打开侧面栏目 if (! gen.isDrawerOpen(cemian)){ //就打开 gen.openDrawer(cemian); } } }); myTask myTask = new myTask(); myTask.execute(); } @Override //下拉刷新 public void onRefresh() { myTask myTask = new myTask(); myTask.execute(); } @Override public void onLoadMore() { myTask myTask = new myTask(); myTask.execute(); } class myTask extends AsyncTask<Void,Void,String>{ @Override protected String doInBackground(Void... voids) { String path = "http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0&qtime=20160411091603"; try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode==200){ InputStream inputStream = connection.getInputStream(); String json =streamToString(inputStream,"utf-8"); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String json) { Log.i("--",json); Gson gson = new Gson(); DBean dBean = gson.fromJson(json, DBean.class); list.addAll(0,dBean.getResult().getRows()); setAdapter(); //停止刷新 xlistView.stopRefresh(); Date date = new Date(System.currentTimeMillis()); SimpleDateFormat format = new SimpleDateFormat("HH:mm"); xlistView.setRefreshTime(format.format(date)); } } private void setAdapter() { if (myAdapter==null) { myAdapter = new MyAdapter(list, MainActivity.this); xlistView.setAdapter(myAdapter); }else{ myAdapter.notifyDataSetChanged(); } } private String streamToString(InputStream inputStream,String charset) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String s = null; StringBuilder builder = new StringBuilder(); while ((s = bufferedReader.readLine()) != null){ builder.append(s); } bufferedReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } }