viewpager
来源:互联网 发布:centos snmp 安装配置 编辑:程序博客网 时间:2024/06/06 03:11
主布局
<?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/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="lipengfei.myapplication.MainActivity"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.5" android:background="#0FC9FF"> <Button android:layout_width="wrap_content" android:layout_height="50dp" android:text="返回" android:background="#0FC9FF"/> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:text="我的校园" android:gravity="center" android:textColor="#ffffff" /> </RelativeLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="6"> </android.support.v4.view.ViewPager> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.5"> <RadioGroup android:id="@+id/radiogroup" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <RadioButton android:id="@+id/btn1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="动态" android:button="@null" android:gravity="center" android:background="@drawable/aa" /> <RadioButton android:id="@+id/btn2" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="校园" android:button="@null" android:gravity="center" android:background="@drawable/aa" /> <RadioButton android:id="@+id/btn3" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="搜索" android:button="@null" android:gravity="center" android:background="@drawable/aa" /> <RadioButton android:id="@+id/btn4" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="服务" android:button="@null" android:gravity="center" android:background="@drawable/aa" /> <RadioButton android:id="@+id/btn5" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="我的" android:button="@null" android:gravity="center" android:background="@drawable/aa" /> </RadioGroup> </LinearLayout> </LinearLayout> <ListView android:layout_width="200dp" android:layout_height="match_parent" android:entries="@array/name" android:layout_gravity="left" android:background="@color/colorPrimary" ></ListView></android.support.v4.widget.DrawerLayout>
fragment主布局
<LinearLayout 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:orientation="vertical" tools:context="lipengfei.myapplication.BFragment"> <!-- TODO: Update blank fragment layout --> <GridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="wrap_content" android:numColumns="4"> </GridView> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView></LinearLayout>
MainActivity
package lipengfei.myapplication;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Window;import android.widget.RadioButton;import android.widget.RadioGroup;import java.util.ArrayList;public class MainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener, RadioGroup.OnCheckedChangeListener { //定义控件 private ViewPager viewPager; private RadioGroup radioGroup; private ArrayList<Fragment> arrayList; private FragmentManager fm; private ViewPagerAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //去掉系统自带的标题 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); //实例化控件 initView(); } private void initView() { viewPager= (ViewPager) findViewById(R.id.viewpager); radioGroup= (RadioGroup) findViewById(R.id.radiogroup); //为viewpager设置监听事件 viewPager.setOnPageChangeListener(this); //为radiogroup设置点击监听事件 radioGroup.setOnCheckedChangeListener(this); //创建viewpager的数据源 arrayList=new ArrayList<>(); arrayList.add(new AFragment()); arrayList.add(new BFragment(this)); arrayList.add(new CFragment()); arrayList.add(new DFragment()); arrayList.add(new EFragment()); fm=getSupportFragmentManager(); //实例化适配器 adapter=new ViewPagerAdapter(fm,arrayList); viewPager.setAdapter(adapter); RadioButton childAt = (RadioButton) radioGroup.getChildAt(0); childAt.setChecked(true); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { //使radiobutton随着viewpager的滑动而改变 RadioButton childAt = (RadioButton)radioGroup.getChildAt(position); childAt.setChecked(true); } @Override public void onPageScrollStateChanged(int state) { } @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { int index=0; switch (i){ case R.id.btn1: index=0; break; case R.id.btn2: index=1; break; case R.id.btn3: index=2; break; case R.id.btn4: index=3; break; case R.id.btn5: index=4; break; } viewPager.setCurrentItem(index); }}
BFragment
package lipengfei.myapplication;import android.content.Context;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.GridView;import android.widget.ListView;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;/** * A simple {@link Fragment} subclass. */public class BFragment extends Fragment { private GridView gridView; private ListView listView; private ArrayList<Map<String,Object>> gridarray; private ArrayList<Map<String,Object>> listarray; private Context context; private GridViewAdapter gridAdapter; private ListViewAdapter listAdapter; public BFragment(Context context) { // Required empty public constructor this.context=context; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View inflate = inflater.inflate(R.layout.fragment_b, container, false); initView(inflate); return inflate; } //实例化控件 private void initView(View inflate) { gridView=inflate.findViewById(R.id.gridview); listView=inflate.findViewById(R.id.listview); gridarray=new ArrayList<>(); listarray=new ArrayList<>(); for (int i = 0; i <8 ; i++) { Map<String,Object> map=new HashMap<>(); switch (i){ case 0: map.put("img",R.mipmap.aa); map.put("title","统计报表"); break; case 1: map.put("img",R.mipmap.aa); map.put("title","教师考评"); break; case 2: map.put("img",R.mipmap.aa); map.put("title","经理查询"); break; case 3: map.put("img",R.mipmap.aa); map.put("title","在园监控"); break; case 4: map.put("img",R.mipmap.aa); map.put("title","今日所学"); break; case 5: map.put("img",R.mipmap.aa); map.put("title","成长档案"); break; case 6: map.put("img",R.mipmap.aa); map.put("title","校园公告"); break; case 7: map.put("img",R.mipmap.aa); map.put("title","更多服务"); break; } gridarray.add(map); } for (int i = 0; i < 4; i++) { Map<String,Object> map=new HashMap<>(); map.put("img",R.mipmap.aa); map.put("title","李鹏飞"+i); map.put("subtitle","我是数据---------------------"+i); listarray.add(map); } //绑定适配器 gridAdapter=new GridViewAdapter(context,gridarray); gridView.setAdapter(gridAdapter); listAdapter=new ListViewAdapter(context,listarray); listView.setAdapter(listAdapter); }}
ViewPagerAdapter
package lipengfei.myapplication;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import java.util.ArrayList;/** * Created by Administrator on 2017/10/26. */public class ViewPagerAdapter extends FragmentPagerAdapter{ private ArrayList<Fragment> fragments; public ViewPagerAdapter(FragmentManager fm,ArrayList<Fragment> fragments) { super(fm); this.fragments=fragments; } @Override public Fragment getItem(int position) { if (fragments!=null){ return fragments.get(position); } return null; } @Override public int getCount() { if (fragments!=null){ return fragments.size(); } return 0; }}
ListViewAdapter
package lipengfei.myapplication;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 java.util.ArrayList;import java.util.Map;/** * Created by Administrator on 2017/10/26. */public class ListViewAdapter extends BaseAdapter{ private Context context; private ArrayList<Map<String,Object>> arrayList; public ListViewAdapter(Context context, ArrayList<Map<String, Object>> arrayList) { this.context = context; this.arrayList = arrayList; } @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int i) { return arrayList.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Viewhander vh; if (view==null){ vh= new Viewhander(); view=View.inflate(context,R.layout.list_layout,null); vh.img=view.findViewById(R.id.img_list); vh.tv1=view.findViewById(R.id.tv1_list); vh.tv2=view.findViewById(R.id.tv2_list); view.setTag(vh); }else{ vh=(Viewhander) view.getTag(); } int img = (int) arrayList.get(i).get("img"); String title = (String) arrayList.get(i).get("title"); String title2 = (String) arrayList.get(i).get("subtitle"); vh.img.setImageResource(img); vh.tv1.setText(title); vh.tv2.setText(title2); return view; } class Viewhander{ private ImageView img; private TextView tv1; private TextView tv2; }}
GridViewAdapter
package lipengfei.myapplication;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 java.util.ArrayList;import java.util.Map;/** * Created by Administrator on 2017/10/26. */public class GridViewAdapter extends BaseAdapter{ private Context context; private ArrayList<Map<String,Object>> arrayList; public GridViewAdapter(Context context, ArrayList<Map<String, Object>> arrayList) { this.context = context; this.arrayList = arrayList; } @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int i) { return arrayList.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Viewhander vh; if (view==null){ vh=new Viewhander(); view=View.inflate(context,R.layout.grid_layout,null); vh.img=view.findViewById(R.id.img_grid); vh.tv=view.findViewById(R.id.tv_grid); view.setTag(vh); }else{ vh=(Viewhander) view.getTag(); } int img = (int) arrayList.get(i).get("img"); String title = (String) arrayList.get(i).get("title"); vh.img.setImageResource(img); vh.tv.setText(title); return view; } class Viewhander{ private ImageView img; private TextView tv; }}
阅读全文
0 0
- Viewpager
- ViewPager
- ViewPager
- ViewPager
- ViewPager
- ViewPager
- viewpager
- ViewPager
- ViewPager
- ViewPager
- Viewpager
- viewpager
- ViewPager
- ViewPager
- ViewPager
- viewpager
- ViewPager
- ViewPager
- mybatis的配置元素--typeHandler类型处理器
- MySQL redo与undo
- 简单的BaseActivity
- pooling mean max 前向和反向传播
- Jave将数据导出成ecxel表格
- viewpager
- Ubuntu14.04虚拟机和宿主机(win7)之间的文件传输 (VMwareTools)篇 网上
- eclipse快捷键
- C#遍历文件夹及文件
- 【慕课网_性能优化之MySQL优化_学习】【09】
- Alwayson 同步模式的坑
- 关于oracle+ibatis批量insert的写法
- ElasticSearch 5.0及head插件安装
- cordova function link