一、build.gradle加依赖app/build.gradle:32
compile project(':imageloaderlibrary')
compile 'com.google.code.gson:gson:2.2.4'
compile project(':pullToRefreshlibrary')
compile 'com.github.andyoom:draggrid:v1.0.1'
二、AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:name="com.bwie.main.lianxi_01.app.imageloader"
三、创建基类Baseactivity与Basefragment
Baseactivity
//基类Activity
public abstract class BaseActivity extends AppCompatActivity{
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//创建一个方法
init();
}
//初始化
private void init() {
setFullScreen();
setContentView(initLayout());
findView();
setOnClickLisener();
initData();
}
//设置点击事件
protected abstract void setOnClickLisener();
//初始化数据
protected abstract void initData();
//查找控件
protected abstract void findView();
//设置全屏
protected abstract void setFullScreen();
//填充布局
protected abstract int initLayout();
//全屏
protected void fullScreen() {
// 设置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
Basefragment
//基类Fragment
public abstract class BaseFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//Inflate the layout for this fragment
return initLayout(inflater, container);
}
//填充布局
protected abstract View initLayout(LayoutInflater inflater, ViewGroup container);
4、activity_main
activity_main.xml 5秒跳转到 activity_show.xml ,实现渐变效果
public class MainActivity extends BaseActivity implements Animation.AnimationListener{
//渐变动画
private AlphaAnimation alphaAnimation;
//根布局
private RelativeLayout rlSplash;
@Override
protected void setOnClickLisener() {
}
@Override
protected void initData() {
//设置渐变时间
alphaAnimation = new AlphaAnimation(0, 1);
//设置跳转时间
alphaAnimation.setDuration(2000);
//设置跳转方法
alphaAnimation.setAnimationListener(this);
//开始渐变
rlSplash.startAnimation(alphaAnimation);
}
@Override
protected void findView() {
//初始化控件
rlSplash = (RelativeLayout) findViewById(R.id.rl_splash);
}
@Override
protected void setFullScreen() {
fullScreen();
}
@Override
protected int initLayout() {
return R.layout.activity_main;
}
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
//跳转
Intent intent = new Intent(MainActivity.this,ShowActivity.class);
startActivity(intent);
finish();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
}
五、ShowActivity
package com.bwie.main.lianxi_01.activity;
import android.support.annotation.IdRes;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.RadioGroup;
import com.bwie.main.lianxi_01.R;
import com.bwie.main.lianxi_01.adapter.MyFragmentAdapter;
import com.bwie.main.lianxi_01.fragment.Fragment1;
import com.bwie.main.lianxi_01.fragment.Fragment2;
import com.bwie.main.lianxi_01.fragment.Fragment3;
import com.bwie.main.lianxi_01.fragment.Fragment4;
import java.util.ArrayList;
import java.util.List;
//主页
public class ShowActivity extends BaseActivity {
private DrawerLayout dra_layout;
private ImageView img_shou;
private ImageView img_shous;
private ViewPager view_pager;
private RadioGroup radio_group;
private List<Fragment> list;
private MyFragmentAdapter adapterf;
//事件
@Override
protected void setOnClickLisener() {
//点击主页的头像,打开侧边栏
img_shou.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dra_layout.openDrawer(Gravity.LEFT);
}
});
//点击侧边栏的头像,关闭侧边栏
img_shous.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dra_layout.closeDrawer(Gravity.LEFT);
}
});
//创建四个fragment,放入一个Fragment的集合里面
Fragment1 fragment1 = new Fragment1();
Fragment2 fragment2 = new Fragment2();
Fragment3 fragment3 = new Fragment3();
Fragment4 fragment4 = new Fragment4();
list = new ArrayList<>();
list.add(fragment1);
list.add(fragment2);
list.add(fragment3);
list.add(fragment4);
//创建适配器+设置适配器
adapterf = new MyFragmentAdapter(getSupportFragmentManager(),list);
view_pager.setAdapter(adapterf);
//滑动viewpager,按钮跟着改变。
view_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
radio_group.check(radio_group.getChildAt(position).getId());
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
//点击按钮,viewpager跟着改变。
radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
switch (checkedId){
case R.id.dd1:
view_pager.setCurrentItem(0);
break;
case R.id.dd2:
view_pager.setCurrentItem(1);
break;
case R.id.dd3:
view_pager.setCurrentItem(2);
break;
case R.id.dd4:
view_pager.setCurrentItem(3);
break;
}
}
});
}
@Override
protected void initData() {
// 选中第一个页面
}
@Override
protected void findView() {
//初始化控件
dra_layout = (DrawerLayout) findViewById(R.id.dra_layout);
img_shou = (ImageView) findViewById(R.id.img_shou);
img_shous = (ImageView) findViewById(R.id.img_shous);
view_pager = (ViewPager) findViewById(R.id.view_pager);
radio_group = (RadioGroup) findViewById(R.id.radio_group);
}
@Override
protected void setFullScreen() {
}
//指定页面
@Override
protected int initLayout() {
return R.layout.activity_show;
}
}
6、三个adapter
fragment 的适配器MyFragmentAdapter
package com.bwie.main.lianxi_01.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.List;
/**
* Created by admin on 2018/7/25.
*/
public class MyFragmentAdapter extends FragmentPagerAdapter{
private List<Fragment> list;
public MyFragmentAdapter(FragmentManager fm, List<Fragment> list) {
super(fm);
this.list = list;
}
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
}
轮播的适配器MyImgAdapter
package com.bwie.main.lianxi_01.adapter;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import java.util.List;
/**
* Created by admin on 2018/7/26.
*/
public class MyImgAdapter extends PagerAdapter{
private Context context;
private List<ImageView> list;
public MyImgAdapter(Context context, List<ImageView> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = list.get(position%list.size());
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
数据库的适配器MyPullAdapter
package com.bwie.main.lianxi_01.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bwei.imageloaderlibrary.utils.ImageLoaderUtils;
import com.bwie.main.lianxi_01.R;
import com.bwie.main.lianxi_01.bean.Pulllist;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
/**
* Created by admin on 2018/7/26.
*/
public class MyPullAdapter extends BaseAdapter{
private Context context;
private List<Pulllist.DataBean> list;
public MyPullAdapter(Context context, List<Pulllist.DataBean> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null){
convertView = View.inflate(context, R.layout.include1,null);
holder = new ViewHolder();
holder.img_include = convertView.findViewById(R.id.img_include);
holder.title_include = convertView.findViewById(R.id.title_include);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
//图片缓存路径
DisplayImageOptions options = ImageLoaderUtils.getOptions();
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.img_include,options);
holder.title_include.setText(list.get(position).getTitle());
return convertView;
}
public class ViewHolder{
ImageView img_include;
TextView title_include;
}
}
7、imageloader
package com.bwie.main.lianxi_01.app;
import android.app.Application;
import com.bwei.imageloaderlibrary.utils.ImageLoaderUtils;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
/**
* Created by admin on 2018/7/25.
*/
public class imageloader extends Application{
@Override
public void onCreate() {
super.onCreate();
//关联
ImageLoaderConfiguration configuration = ImageLoaderUtils.getConfiguration(this);
ImageLoader.getInstance().init(configuration);
}
}
8、HttpUtils
package com.bwie.main.lianxi_01.utils;
import android.os.AsyncTask;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* Created by admin on 2018/7/25.
*/
public class HttpUtils {
private getdatajsonlisten getdatajsonlisten;
private static HttpUtils httpUtils;
public static HttpUtils getinstance(){
if(httpUtils==null){
httpUtils =new HttpUtils();
}
return httpUtils;
}
public void getdata(String url){
Myasync myasync = new Myasync();
myasync.execute(url);
}
public class Myasync extends AsyncTask<String,Integer,String> {
@Override
protected String doInBackground(String... params) {
try {
String path =params[0];
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.setRequestMethod("GET");
if(connection.getResponseCode()==200){
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] bytes = new byte[1024];
int len =0;
while ((len=inputStream.read(bytes))!=-1){
bos.write(bytes,0,len);
}
inputStream.close();
bos.close();
String json = bos.toString();
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
getdatajsonlisten.datajson1(s);
}
}
public interface getdatajsonlisten{
public void datajson1(String json);
}
public void setdatajsonlisten(getdatajsonlisten getdatajsonlisten){
this.getdatajsonlisten =getdatajsonlisten;
}
}
9、viewpager
package com.bwie.main.lianxi_01.vipager;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
/**
* Created by admin on 2018/7/25.
*/
public class viewpager extends ViewPager{
public viewpager(Context context) {
super(context);
}
public viewpager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean dispatchGenericFocusedEvent(MotionEvent event) {
return super.dispatchGenericFocusedEvent(event);
}
}
10、三个bean包
数据库的
package com.bwie.main.lianxi_01.bean;
/**
* Created by admin on 2018/7/28.
*/
public class Dbbean {
private int id;
private String url;
private String json;
public Dbbean() {
}
public Dbbean(String url, String json) {
this.url = url;
this.json = json;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
@Override
public String toString() {
return "ShopBean{" +
"id=" + id +
", url='" + url + '\'' +
", json='" + json + '\'' +
'}';
}
}
pull和imgloader的
11、数据库
Dbbean
package com.bwie.main.lianxi_01.bean;
/**
* Created by admin on 2018/7/28.
*/
public class Dbbean {
private int id;
private String url;
private String json;
public Dbbean() {
}
public Dbbean(String url, String json) {
this.url = url;
this.json = json;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
@Override
public String toString() {
return "ShopBean{" +
"id=" + id +
", url='" + url + '\'' +
", json='" + json + '\'' +
'}';
}
}
Dao
package com.bwie.main.lianxi_01.db;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.bwie.main.lianxi_01.bean.Dbbean;
import java.util.ArrayList;
import java.util.List;
/**
* Created by admin on 2018/7/28.
*/
public class Dao {
private final SQLiteDatabase writableDatabase;
public Dao(Context context) {
MyHelper helper = new MyHelper(context);
writableDatabase = helper.getWritableDatabase();
}
public List<Dbbean> cha(String url) {
List<Dbbean> list = new ArrayList<>();
Cursor cursor = writableDatabase.rawQuery("select * from shop where url = ?", new String[]{url});
while(cursor.moveToNext()){
String url1 = cursor.getString(cursor.getColumnIndex("url"));
String json = cursor.getString(cursor.getColumnIndex("json"));
list.add(new Dbbean(url1,json));
}
return list;
}
public void add(String url,String json){
ContentValues values = new ContentValues();
values.put("url",url);
values.put("json",json);
writableDatabase.replace("shop",null,values);
}
}
MyHelper
package com.bwie.main.lianxi_01.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by admin on 2018/7/28.
*/
public class MyHelper extends SQLiteOpenHelper{
public MyHelper(Context context) {
super(context, "bwie.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table shop(_id integer primary key autoincrement,url TEXT,json TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
12、fragment的方法
Fragment1
package com.bwie.main.lianxi_01.fragment;
import android.os.Handler;
import android.os.Message;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import com.andy.library.ChannelActivity;
import com.andy.library.ChannelBean;
import com.bwei.imageloaderlibrary.utils.ImageLoaderUtils;
import com.bwie.main.lianxi_01.R;
import com.bwie.main.lianxi_01.adapter.MyImgAdapter;
import com.bwie.main.lianxi_01.adapter.MyPullAdapter;
import com.bwie.main.lianxi_01.bean.Dbbean;
import com.bwie.main.lianxi_01.bean.Imglb;
import com.bwie.main.lianxi_01.bean.Pulllist;
import com.bwie.main.lianxi_01.db.ConUtils;
import com.bwie.main.lianxi_01.db.Dao;
import com.bwie.main.lianxi_01.utils.HttpUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class Fragment1 extends BaseFragment {
private View view;
private ViewPager viewpager_lb;
private List<ImageView> imglist = new ArrayList<>();
private MyImgAdapter myImgAdapter;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 0){
String json = (String) msg.obj;
Gson gson = new Gson();
Imglb imglb = gson.fromJson(json, Imglb.class);
List<Imglb.DataBean> dataimg = imglb.getData();
for (int i = 0 ; i<dataimg.size() ; i++){
String s = dataimg.get(i).getImg();
ImageView imageView = new ImageView(getActivity());
DisplayImageOptions options = ImageLoaderUtils.getOptions();
ImageLoader.getInstance().displayImage(s,imageView,options);
imglist.add(imageView);
}
myImgAdapter = new MyImgAdapter(getActivity(),imglist);
viewpager_lb.setAdapter(myImgAdapter);
}else if (msg.what == 1){
int i = viewpager_lb.getCurrentItem();
i++;
viewpager_lb.setCurrentItem(i);
handler.sendEmptyMessageDelayed(1,2000);
}
}
};
private PullToRefreshListView pull_list;
private int page = 1;
private MyPullAdapter myPullAdapter;
private List<Pulllist.DataBean> listpull = new ArrayList<>();
private String paths = "http://www.xieast.com/api/news/news.php?page=";
private TabLayout tab_layout;
private List<String> list1;
private ImageView img_gl;
private String[] titles = {"推荐", "热点", "上海", "视频", "社会",
"订阅", "娱乐", "图片", "科技", "汽车",
"体育", "财经", "军事", "国际", "段子",
"趣图", "美女", "健康", "正能量", "特卖",
"中国好声音", "历史", "时尚", "辟谣", "探索", "美国",
"搞笑", "故事", "奇葩", "情感"};
private Dao dao;
private String url = paths + page;
//主方法
@Override
protected View initLayout(LayoutInflater inflater, ViewGroup container) {
view = inflater.inflate(R.layout.frg1,container,false);
//初始化控件
tab_layout = view.findViewById(R.id.tab_layout);
viewpager_lb = view.findViewById(R.id.viewpager_lb);
pull_list = view.findViewById(R.id.pull_list);
img_gl = view.findViewById(R.id.img_gl);
//调用方法
getfromtab();
getservicelb();
getfromnetpull();
return view;
}
//导航栏操作
private void getfromtab() {
//导航栏:创建一个String集合,放入名称
list1 = new ArrayList<>();
list1.add("首页");
list1.add("汽车");
list1.add("彩票");
list1.add("丁壳");
//设置模式
tab_layout.setTabMode(TabLayout.MODE_FIXED);
//添加标签选项
tab_layout.addTab(tab_layout.newTab().setText(list1.get(0)));
tab_layout.addTab(tab_layout.newTab().setText(list1.get(1)));
tab_layout.addTab(tab_layout.newTab().setText(list1.get(2)));
tab_layout.addTab(tab_layout.newTab().setText(list1.get(3)));
img_gl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<ChannelBean> lists = new ArrayList<>();
for (int i = 0; i < 15; i++) {
//创建一个list需要的对象
ChannelBean bean = null;
if (i < 10) {
//前五个默认选中
bean = new ChannelBean(titles[i], true);
} else {
bean = new ChannelBean(titles[i], false);
}
lists.add(bean);
}
//跳转并传值
ChannelActivity.startChannelActivity((AppCompatActivity) getActivity(), lists);
}
});
}
//写轮播操作
private void getservicelb() {
new Thread(){
@Override
public void run() {
super.run();
String pathh ="http://www.xieast.com/api/banner.php";
try {
URL url = new URL(pathh);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.setRequestMethod("GET");
if (connection.getResponseCode() == 200){
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] bytes = new byte[1024];
int len = 0 ;
while ((len = inputStream.read(bytes))!=-1){
bos.write(bytes,0,len);
}
inputStream.close();
bos.close();
String json = bos.toString();
Message message = new Message();
message.what=0;
message.obj=json;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
//循环
@Override
public void onResume() {
super.onResume();
handler.sendEmptyMessageDelayed(1,2000);
}
//销毁,onDestroy起冲突,所以要用onPause来销毁
@Override
public void onDestroy() {
super.onDestroy();
handler.removeCallbacksAndMessages(null);
}
//销毁
@Override
public void onPause() {
super.onPause();
handler.removeCallbacksAndMessages(null);
}
//写主页pullreferase
private void getfromnetpull() {
//支持刷新和加载
pull_list.setMode(PullToRefreshBase.Mode.BOTH);
//创建监听方法
pull_list.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
//下拉
page =1;
getfromnet();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
//上拉
page +=1;
getfromnet();
}
});
//创建+设置pull的适配器
myPullAdapter = new MyPullAdapter(getActivity(),listpull);
pull_list.setAdapter(myPullAdapter);
//创建Dao方法,调用Dao方法里面的查询,并判断网络连接
dao = new Dao(getActivity());
List<Dbbean> cha = dao.cha(url);
if(cha!=null){
for (int i = 0; i <cha.size() ; i++) {
Pulllist pulllist = preajson(cha.get(i).getJson());
List<Pulllist.DataBean> data = pulllist.getData();
listpull.addAll(data);
}
}else{
if(ConUtils.iscon(getActivity())){
getfromnet();
}else{
Toast.makeText(getActivity(),"请打开网络",Toast.LENGTH_SHORT).show();
}
}
}
//列表的解析
private Pulllist preajson(String json) {
Gson gson = new Gson();
return gson.fromJson(json,Pulllist.class);
}
//pull的数据操作
private void getfromnet() {
//解析
HttpUtils httpUtils = HttpUtils.getinstance();
httpUtils.getdata(url);
httpUtils.setdatajsonlisten(new HttpUtils.getdatajsonlisten() {
@Override
public void datajson1(String json) {
//保存数据到数据库
dao.add(url,json);
Gson gson = new Gson();
Pulllist pulllist = gson.fromJson(json, Pulllist.class);
List<Pulllist.DataBean> datapul = pulllist.getData();
if (page == 1){
listpull.clear();
}
listpull.addAll(datapul);
//刷新适配器.
myPullAdapter.notifyDataSetChanged();
//刷新完成
pull_list.onRefreshComplete();
}
});
}
}
Fragment2,3,4
package com.bwie.main.lianxi_01.fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.bwie.main.lianxi_01.R;
public class Fragment2 extends BaseFragment {
@Override
protected View initLayout(LayoutInflater inflater, ViewGroup container) {
View view = inflater.inflate(R.layout.frg2,container,false);
return view;
}
}
13、selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@color/colorAccent" />
<item android:state_checked="false" android:drawable="@color/colorPrimary" />
</selector>
14、activity_show.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/dra_layout"
tools:context="com.bwie.main.lianxi_01.activity.ShowActivity">
<!-- 侧边页面-->
<LinearLayout
android:layout_width="300dp"
android:layout_height="match_parent"
android:background="#C0C0C0"
android:layout_gravity="start"
>
<ImageView
android:id="@+id/img_shous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:layout_marginTop="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="侧边栏里面"
android:textSize="25dp" />
</LinearLayout>
<!-- 主页面-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#dd3">
<ImageView
android:id="@+id/img_shou"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:layout_marginTop="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="首页"
android:textSize="23dp" />
</RelativeLayout>
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8" />
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<RadioButton
android:id="@+id/dd1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:button="@null"
android:background="@drawable/selector"
android:text="丁壳"
android:textColor="#FFFF00"
android:textSize="28dp"
/>
<RadioButton
android:id="@+id/dd2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:button="@null"
android:background="@drawable/selector"
android:text="大头"
android:textColor="#FFFF00"
android:textSize="28dp"
/>
<RadioButton
android:id="@+id/dd3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:button="@null"
android:background="@drawable/selector"
android:gravity="center"
android:text="奔扛"
android:textColor="#FFFF00"
android:textSize="28dp"
/>
<RadioButton
android:id="@+id/dd4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:button="@null"
android:background="@drawable/selector"
android:gravity="center"
android:text="保建"
android:textColor="#FFFF00"
android:textSize="28dp"
/>
</RadioGroup>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
15、frg1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bwie.main.lianxi_01.fragment.Fragment1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="9"/>
<ImageView
android:id="@+id/img_gl"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ic_add_box_black_24dp"/>
</LinearLayout>
<com.bwie.main.lianxi_01.vipager.viewpager
android:id="@+id/viewpager_lb"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4" />
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/pull_list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6" />
</LinearLayout>
16、include1.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/img_include"
android:layout_width="120dp"
android:layout_height="80dp"
android:src="@drawable/ic_wb_auto_black_24dp"/>
<TextView
android:id="@+id/title_include"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="title_include"
android:textSize="22dp"
android:layout_marginTop="12dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/img_include"
android:layout_toEndOf="@+id/img_include" />
</RelativeLayout>
17、四个fragment插件,res下的drawable,手动添加,右击new---vector Asset