側拉加fragment联动
来源:互联网 发布:软件开放平台 编辑:程序博客网 时间:2024/06/07 00:13
一.MainActivity
import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;import android.support.design.widget.NavigationView;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.ActionBarDrawerToggle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;import android.widget.TableLayout;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private ViewPager vp; private List<Fragment> list = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); vp = (ViewPager) findViewById(R.id.vp); list.add(new MyFragment()); list.add(new MyFragment2()); list.add(new MyFragment3()); list.add(new MyFragment4()); vp.setAdapter(new MyPager(getSupportFragmentManager())); setSupportActionBar(toolbar); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } class MyPager extends FragmentPagerAdapter{ public MyPager(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } } @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.nav_camera) { vp.setCurrentItem(0); } else if (id == R.id.nav_gallery) { vp.setCurrentItem(1); } else if (id == R.id.nav_slideshow) { vp.setCurrentItem(2); } else if (id == R.id.nav_manage) { vp.setCurrentItem(3); }// } else if (id == R.id.nav_share) {//// } else if (id == R.id.nav_send) {//// } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return true; }}二.Fragment
1第一个fragment
import android.content.Intent;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ListView;import android.widget.TextView;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MyFragment extends Fragment { private TabLayout tab; private ViewPager vp; private List<String> mtitle = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = inflater.inflate(R.layout.f1,null); tab = v.findViewById(R.id.tab); vp = v.findViewById(R.id.f_vp); getData(); vp.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) { @Override public CharSequence getPageTitle(int position) { return mtitle.get(position); } @Override public Fragment getItem(int position) { MyFragment_show fragment = new MyFragment_show(); Bundle bundle = new Bundle(); if (mtitle.get(position).equals("社会新闻")){ bundle.putString("name","social"); }else if (mtitle.get(position).equals("国内新闻")){ bundle.putString("name","guonei"); }else if (mtitle.get(position).equals("国际新闻")){ bundle.putString("name","world"); }else if (mtitle.get(position).equals("娱乐新闻")){ bundle.putString("name","huabian"); }else if (mtitle.get(position).equals("体育新闻")){ bundle.putString("name","tiyu"); }else if (mtitle.get(position).equals("科技新闻")){ bundle.putString("name","keji"); }else if (mtitle.get(position).equals("创业新闻")){ bundle.putString("name","startup"); }else if (mtitle.get(position).equals("军事新闻")){ bundle.putString("name","military"); } fragment.setArguments(bundle); return fragment; } @Override public int getCount() { return mtitle.size(); } }); tab.setupWithViewPager(vp); return v; } public void getData(){ mtitle.add("社会新闻"); mtitle.add("国内新闻"); mtitle.add("国际新闻"); mtitle.add("娱乐新闻"); mtitle.add("体育新闻"); mtitle.add("科技新闻"); mtitle.add("创业新闻"); mtitle.add("军事新闻"); }}2.第二,三,四个fragment
import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;/** * */public class MyFragment2 extends Fragment{ @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v = inflater.inflate(R.layout.f2,null); return v; }}三.fragment1对应的fragment
import android.content.Intent;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ListView;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;public class MyFragment_show extends Fragment { private PullToRefreshListView listView; private String mstrings; private int page=1; private int num=10; private View v; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { v = inflater.inflate(R.layout.show,null); listView = v.findViewById(R.id.pull_listView); listView.setMode(PullToRefreshBase.Mode.BOTH); listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { listView.postDelayed(new Runnable() { @Override public void run() { num+=10; page++; getDataFromNet(mstrings,num,page); listView.onRefreshComplete(); } },2000); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { listView.postDelayed(new Runnable() { @Override public void run() { num=10; page=1; getDataFromNet(mstrings,num,page); listView.onRefreshComplete(); } },2000); } }); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Intent intent = new Intent(getActivity(),Main2Activity.class); startActivity(intent); } }); return v; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Bundle bundle = getArguments(); mstrings = bundle.getString("name"); getDataFromNet(mstrings,num,page); } private void getDataFromNet(final String string,final int n,final int p) { AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... voids) { String path = "http://api.tianapi.com/"+string+"/?key=48844f6abf6f664f645221f5c9894824&num="+n+"&page="+p; try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //设置 connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(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 ""; } @Override protected void onPostExecute(String json) { //原生json Gson gson = new Gson(); JsonBean dataDataBean = gson.fromJson(json, JsonBean.class); List<JsonBean.NewslistBean> list = dataDataBean.getNewslist(); if(list!=null){ MyAdapter myAdapter = new MyAdapter(getActivity(), list); listView.setAdapter(myAdapter); } } }; asyncTask.execute(); } 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; }}四.fragment1对应的fragment的点击跳转后的MainActivity
import android.content.Context;import android.content.Intent;import android.graphics.pdf.PdfDocument;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.GridView;import android.widget.ImageView;import android.widget.ListView;import android.widget.ScrollView;import android.widget.TextView;import android.widget.Toast;import com.bigkoo.convenientbanner.ConvenientBanner;import com.bigkoo.convenientbanner.holder.CBViewHolderCreator;import com.bigkoo.convenientbanner.holder.Holder;import com.bigkoo.convenientbanner.listener.OnItemClickListener;import com.bumptech.glide.Glide;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshScrollView;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.util.Arrays;import java.util.List;public class Main2Activity extends AppCompatActivity implements OnItemClickListener { private ConvenientBanner convenientBanner; private List<String> networkImages; private String[] images = {"http://img2.imgtn.bdimg.com/it/u=3093785514,1341050958&fm=21&gp=0.jpg", "http://img2.3lian.com/2014/f2/37/d/40.jpg", "http://d.3987.com/sqmy_131219/001.jpg", "http://img2.3lian.com/2014/f2/37/d/39.jpg", "http://www.8kmm.com/UploadFiles/2012/8/201208140920132659.jpg", "http://f.hiphotos.baidu.com/image/h%3D200/sign=1478eb74d5a20cf45990f9df460b4b0c/d058ccbf6c81800a5422e5fdb43533fa838b4779.jpg", "http://f.hiphotos.baidu.com/image/pic/item/09fa513d269759ee50f1971ab6fb43166c22dfba.jpg" }; protected ImageLoader imageLoader; private ListView lv; private MyAsyncTask myAsyncTask; private int type; private PullToRefreshScrollView ps; private int page=1; private GridView gv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); ps = (PullToRefreshScrollView) findViewById(R.id.pull_scrollview); convenientBanner = (ConvenientBanner) findViewById(R.id.convenientBanner); gv = (GridView) findViewById(R.id.gridview); lv = (ListView) findViewById(R.id.lv); myAsyncTask = new MyAsyncTask(this, gv,lv,page); myAsyncTask.execute(); ps.setMode(PullToRefreshBase.Mode.BOTH); ps.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) { ps.postDelayed(new Runnable() { @Override public void run() { page++; myAsyncTask = new MyAsyncTask(Main2Activity.this, gv,lv,page); myAsyncTask.execute(); ps.onRefreshComplete(); } },2000); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) { ps.postDelayed(new Runnable() { @Override public void run() { page=1; myAsyncTask = new MyAsyncTask(Main2Activity.this, gv,lv,page); myAsyncTask.execute(); ps.onRefreshComplete(); } },2000); } }); imageLoader = ImageLoader.getInstance(); imageLoader.init(ImageLoaderConfiguration.createDefault(this)); //网络加载例子 networkImages = Arrays.asList(images); convenientBanner.setPages(new CBViewHolderCreator<NetworkImageHolderView>() { @Override public NetworkImageHolderView createHolder() { return new NetworkImageHolderView(); } }, networkImages) //设置指示器是否可见 .setPointViewVisible(true) //设置自动切换(同时设置了切换时间间隔) .startTurning(2000) //设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设 .setPageIndicator(new int[]{R.drawable.ic_page_indicator, R.drawable.ic_page_indicator_focused}) //设置指示器的方向(左、中、右) .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT) //设置点击监听事件 .setOnItemClickListener(this) //设置手动影响(设置了该项无法手动切换) .setManualPageable(true); } //图片的点击事件 @Override public void onItemClick(int position) { Toast.makeText(this, "position:" + position, Toast.LENGTH_SHORT).show(); } public class NetworkImageHolderView implements Holder<String> { private ImageView imageView; @Override public View createView(Context context) { imageView = new ImageView(context); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); return imageView; } @Override public void UpdateUI(Context context, int position, String data) { Glide.with(Main2Activity.this).load(data).into(imageView); } }}五.第一个MyAdapter
package zhouyafei.bwei.com.zhouyafeiyuekao;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.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;import java.util.List;import java.util.jar.JarEntry;/** * Created by Zhouyf on 2017/9/20. */public class MyAdapter extends BaseAdapter{ private Context context; private List<JsonBean.NewslistBean> data = new ArrayList<>(); public MyAdapter(Context context, List<JsonBean.NewslistBean> data) { this.context = context; this.data = data; } @Override public int getCount() { return data.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolderOne holderOne; ViewHolderTwo holderTwo; int type = getItemViewType(i); if (view==null){ switch (type){ case 0: view = View.inflate(context,R.layout.item1,null); holderOne = new ViewHolderOne(); holderOne.title = view.findViewById(R.id.one_text1); holderOne.date = view.findViewById(R.id.one_text2); holderOne.one_img = view.findViewById(R.id.one_img); view.setTag(holderOne); break; case 1: view = View.inflate(context,R.layout.item2,null); holderTwo = new ViewHolderTwo(); holderTwo.two_img1 = view.findViewById(R.id.two_img1); holderTwo.two_img2 = view.findViewById(R.id.two_img2); holderTwo.two_img3 = view.findViewById(R.id.two_img3); view.setTag(holderTwo); break; } } switch (type){ case 0: holderOne = (ViewHolderOne) view.getTag(); holderOne.title.setText(data.get(i).getTitle()); holderOne.date.setText(data.get(i).getCtime()); ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderOne.one_img); break; case 1: holderTwo = (ViewHolderTwo) view.getTag(); ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderTwo.two_img1); ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderTwo.two_img2); ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderTwo.two_img3); break; } return view; } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { int p = position%2; if (p==0){ return 0; }else{ return 1; } } class ViewHolderOne{ TextView title,date; ImageView one_img; } class ViewHolderTwo{ ImageView two_img1,two_img2,two_img3; }}六.第二个MyAdapter
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.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;import java.util.List;/** * Created by Zhouyf on 2017/9/20. *///https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10public class Main2_Adapter extends BaseAdapter { private Context context; private List<JsonBean.NewslistBean> data = new ArrayList<>(); private int type; public Main2_Adapter(Context context, List<JsonBean.NewslistBean> data, int type) { this.context = context; this.data = data; this.type = type; } @Override public int getCount() { return data.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolderOne holderOne = null; if (view==null) { switch (type){ case 1: view = View.inflate(context, R.layout.griditem, null); holderOne = new ViewHolderOne(); holderOne.title = view.findViewById(R.id.g_text); holderOne.one_img = view.findViewById(R.id.g_img); view.setTag(holderOne); break; case 2: view = View.inflate(context, R.layout.item1, null); holderOne = new ViewHolderOne(); holderOne.title = view.findViewById(R.id.one_text1); holderOne.one_img = view.findViewById(R.id.one_img); view.setTag(holderOne); break; } }else{ holderOne = (ViewHolderOne) view.getTag(); } holderOne.title.setText(data.get(i).getTitle()); ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderOne.one_img); return view; } class ViewHolderOne{ TextView title; ImageView one_img; }}七.图片类
import android.app.Application;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;/** * Created by Zhouyf on 2017/9/20. */public class MyApp extends Application{ @Override public void onCreate() { super.onCreate(); DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) .displayer(new FadeInBitmapDisplayer(2000)).cacheOnDisk(true) .cacheInMemory(true).build(); ImageLoaderConfiguration configs = new ImageLoaderConfiguration.Builder(this) .defaultDisplayImageOptions(options).threadPoolSize(5) .build(); ImageLoader.getInstance().init(configs); }}八.MyAnsyncTask
import android.content.Context;import android.content.Intent;import android.os.AsyncTask;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.ListView;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.List;/** * Created by Zhouyf on 2017/9/15. */public class MyAsyncTask extends AsyncTask<String ,Integer ,String>{ private Context context; private GridView gridView; private ListView listView; private int type=1; private int page; public MyAsyncTask(Context context, GridView gridView, ListView listView,int page) { this.context = context; this.gridView = gridView; this.listView = listView; this.page = page; } private JsonBean bean; @Override protected String doInBackground(String... strings) { try { URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+page); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode==200){ InputStream inputStream = connection.getInputStream(); String text = readText(inputStream, "utf-8"); Gson gson = new Gson(); bean = gson.fromJson(text, JsonBean.class); } } catch (Exception e) { e.printStackTrace(); } return null; } private String readText(InputStream inputStream,String charset){ try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset); BufferedReader buffer = new BufferedReader(inputStreamReader); String s=null; StringBuilder builder = new StringBuilder(); while ((s=buffer.readLine())!=null){ builder.append(s); } buffer.close(); inputStreamReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); List<JsonBean.NewslistBean> data = bean.getNewslist(); if (data!=null){ Main2_Adapter adapter = new Main2_Adapter(context, data,type); gridView.setAdapter(adapter); if (type==1) { ++type; Main2_Adapter adapter2 = new Main2_Adapter(context, data,type); listView.setAdapter(adapter2); } } }}
布局文件
1.activity
<?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:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /></android.support.v4.widget.DrawerLayout>
2.APP_bar
<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout 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="zhouyafei.bwei.com.zhouyafeiyuekao.MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /></android.support.design.widget.CoordinatorLayout>3.fragment1
<?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" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.TabLayout android:layout_width="wrap_content" android:layout_height="wrap_content" app:tabTextAppearance="@style/MyTabLayoutTextAppearance" app:tabGravity="center" app:tabBackground="@color/tab" app:tabSelectedTextColor="@color/selectText" app:tabTextColor="@color/titleBlue" app:tabIndicatorColor="@color/back" app:tabMode="scrollable" android:id="@+id/tab"></android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/f_vp" ></android.support.v4.view.ViewPager></LinearLayout>4.GridView
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="80dp" android:layout_height="80dp" android:id="@+id/g_img"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/g_text"/></LinearLayout>5.item1
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="150dp" android:layout_height="150dp" android:id="@+id/one_img"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/one_text1" android:textSize="20dp" android:padding="10dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/one_text2" android:textSize="20dp" android:padding="10dp"/> </LinearLayout></LinearLayout>6.item2
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/two_img1" android:layout_weight="1"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/two_img2" android:layout_weight="1"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/two_img3" android:layout_weight="1"/></LinearLayout>7.show
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.handmark.pulltorefresh.library.PullToRefreshListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/pull_listView"></com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>
8.centent
<?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" android:orientation="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="zhouyafei.bwei.com.zhouyafeiyuekao.MainActivity" tools:showIn="@layout/app_bar_main"> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp" ></android.support.v4.view.ViewPager></LinearLayout>
阅读全文
0 0
- 側拉加fragment联动
- 联动+加载+Fragment
- TableLayout+Fragment +Viewpager 联动
- radiogroup+viewpager+fragment联动,
- Viewpager+Fragment联动+水平滚动
- fragment与底部菜单联动
- Viewpager+Fragment 导航栏联动
- 轮播与fragment联动
- TabLayout,ViewPager,Fragment实现联动
- TabLayout,ViewPager,Fragment,实现联动
- Button和Fragment实现联动
- viewpager和fragment的联动
- TabLayout标题和Fragment联动
- Tablayout + Viewpager + Fragment 联动显示
- Fragment嵌套Fragment,Viewpager和Fragment联动,懒加载
- fragment 中利用spinner实现省市联动
- 实现fragment和radioButton 的联动操作:
- Fragment实现列表和内容联动
- mybatis+mysql用中文做查询条件返回值无结果
- LARS算法
- 第四周【项目2
- LoRa学习:LoRa数据接受发送流程(FIFO)
- OkHttp解析数据,RecyclerView和Glide的加载图片
- 側拉加fragment联动
- 免费的图书管图书借阅管理系统
- Linux安装Nginx报错make: *** No targets specified and no makefile found. Stop.解决方法
- 算法与数据结构-分治法及汉诺塔问题求解
- 第四周项目(1)-单链表的的建立
- 第四周 项目6
- String API
- 被百度的乱七八糟的新闻八卦忽悠了一早上
- 剑指offer——51.构建乘积数组