整体的布局里,先写主背景的布局,再写侧滑页面的布局
<?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:id="@+id/drawer_gen"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--主背景-->
<LinearLayout
android:id="@+id/linear_zhu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"></FrameLayout>
<RadioGroup
android:id="@+id/group"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_below="@+id/frame_layout"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_xinwen"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:checked="true"
android:gravity="center"
android:padding="10dp"
android:text="新闻"
android:textSize="22sp" />
<RadioButton
android:id="@+id/radio_gridView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:padding="10dp"
android:text="GridView"
android:textSize="22sp" />
<RadioButton
android:id="@+id/radio_faxian"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:padding="10dp"
android:text="发现"
android:textSize="22sp" />
<RadioButton
android:id="@+id/radio_wode"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:padding="10dp"
android:text="我的"
android:textSize="22sp" />
</RadioGroup>
</LinearLayout>
<!-- 侧滑页面的布局-->
<LinearLayout
android:id="@+id/linear_cemian"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#ffffff"
android:gravity="center_horizontal"
android:orientation="vertical">
<LinearLayout
android:id="@+id/linear_weidenglu"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/touxiang"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/weidenglu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="未登录" />
</LinearLayout>
<ListView
android:id="@+id/ce_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
侧滑页面listview的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/ce_list_image"
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/i"
/>
<TextView
android:layout_marginLeft="15dp"
android:text="微信登录"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ce_list_text"
/>
</LinearLayout>
ThirdActivity里面 给侧滑页面添加内容 给主页面添加内容,fragment
public class ThirdActivity extends AppCompatActivity {
private DrawerLayout drawer_gen;
private LinearLayout rela_zhu;
private LinearLayout linear_cemian;
private LinearLayout linear_weidenglu;
private ListView listView;
private FrameLayout frameLayout;
private RadioGroup group;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
//进入页面先显示新闻的fragment布局
getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,new Fragment_News()).commit();
//根布局
drawer_gen = (DrawerLayout) findViewById(R.id.drawer_gen);
//主背景
rela_zhu = (LinearLayout) findViewById(R.id.linear_zhu);
//主背景中的framelayout
frameLayout = (FrameLayout) findViewById(R.id.frame_layout);
//侧滑页面
linear_cemian = (LinearLayout) findViewById(R.id.linear_cemian);
//侧滑页面的未登录布局
linear_weidenglu = (LinearLayout) findViewById(R.id.linear_weidenglu);
//侧滑页面下面的listview
listView = (ListView) findViewById(R.id.ce_list_view);
//group
group = (RadioGroup) findViewById(R.id.group);
final List<String> listce = new ArrayList<>();
listce.add("微信登录");
listce.add("QQ登录");
listce.add("微博登录");
CeHuaAdapter ceHuaAdapter = new CeHuaAdapter(listce, ThirdActivity.this);
listView.setAdapter(ceHuaAdapter);
//侧滑listview点击事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//点击条目吐司展示
Toast.makeText(ThirdActivity.this,listce.get(i),Toast.LENGTH_SHORT).show();
//关闭抽屉
drawer_gen.closeDrawer(linear_cemian);
}
});
//点击上面的未登录布局,跳转页面打开相册
linear_weidenglu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
drawer_gen.closeDrawer(linear_cemian);
Intent intent = new Intent(ThirdActivity.this, XiangjiActivity.class);
startActivity(intent);
}
});
//替换布局显示
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
switch (checkedId){
case R.id.radio_xinwen:
transaction.replace(R.id.frame_layout,new Fragment_News());
break;
case R.id.radio_gridView:
transaction.replace(R.id.frame_layout,new Fragment_GridView());
break;
case R.id.radio_faxian:
transaction.replace(R.id.frame_layout,new Fragment_News());
break;
case R.id.radio_wode:
transaction.replace(R.id.frame_layout,new Fragment_News());
break;
}
transaction.commit();
}
});
}
}
侧滑页面listview的适配器
public class CeHuaAdapter extends BaseAdapter{
List<String> listce;
Context context;
public CeHuaAdapter(List<String> listce, Context context) {
this.listce = listce;
this.context = context;
}
@Override
public int getCount() {
return listce.size();
}
@Override
public Object getItem(int i) {
return listce.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder;
if (view==null){
view = View.inflate(context, R.layout.ce_list_item,null);
holder = new ViewHolder();
holder.textView = (TextView) view.findViewById(R.id.ce_list_text);
view.setTag(holder);
}else{
holder = (ViewHolder) view.getTag();
}
holder.textView.setText(listce.get(i));
return view;
}
class ViewHolder{
TextView textView;
}
}