TableLayout和ViewPager的使用
来源:互联网 发布:安卓优化提速吧 编辑:程序博客网 时间:2024/04/19 19:20
虽然很简单,但是我总搞不懂,所以贴出来。以便学习。尽量贴出来复制就可以用的代码,第一段代码缺一个linnerlayout
1、xml布局
<android.support.design.widget.TabLayout android:id="@+id/tb_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" app:tabBackground="@drawable/tab_seleted_bg" app:tabSelectedTextColor="@color/white" app:tabTextColor="@color/white" app:tabTextAppearance="@style/tabLayoutTextStyle" app:tabIndicatorHeight="0dp" ></android.support.design.widget.TabLayout><android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" />
2、tab_select_bg按钮背景
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/title_bg" android:state_selected="true" /> <item android:drawable="@color/gray_btn_false" /></selector>
3、tabLayoutTextStyle
<style name="tabLayoutTextStyle"> <item name="android:textSize">@dimen/textsize_32</item></style>
4、TaskStatisticsActivity
package com.android.mgwaiter;import android.os.Bundle;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.app.FragmentTransaction;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import com.android.mgwaiter.Fragment.AbolishFragment;import com.android.mgwaiter.Fragment.FinishFragment;import com.android.mgwaiter.view.StatusTitle;import java.util.ArrayList;import java.util.List;import java.util.Map;/** * Created by h * */public class TaskStatisticsActivity extends AppCompatActivity { TaskAdapter adapter; List<String> parent = null;//列表头 Map<String, List<String>> map = null;//列表详情 private ViewPager viewpager; Fragment finishFragment,abolishFragment; TabLayout tb_title; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.task_statistics_activity); inView(); initStatusBar(); } //初始化控件 private void inView() { viewpager = (ViewPager) findViewById(R.id.viewpager);//viewpager tv_order_task = (TextView) findViewById(R.id.tv_order_task);//接单任务总计 tv_miss_task = (TextView) findViewById(R.id.tv_miss_task);//未接单任务总计 tv_general_assignment = (TextView) findViewById(R.id.tv_general_assignment);//推送总计 tv_order_rate = (TextView) findViewById(R.id.tv_order_rate);//接单率 tb_title= (TabLayout) findViewById(R.id.tb_title); } private void initStatusBar() { initData(); FragmentManager fragmentManager = getSupportFragmentManager(); adapter = new TaskAdapter(fragmentManager); viewpager.setAdapter(adapter); viewpager.setOnGenericMotionListener(new View.OnGenericMotionListener() { @Override public boolean onGenericMotion(View view, MotionEvent motionEvent) { return false; } }); tb_title.setupWithViewPager(viewpager); } private List<Fragment> list_fragment; //初始化按钮数据 private void initData() { list_fragment = new ArrayList<>(); list_fragment.add(new FinishFragment()); list_fragment.add(new AbolishFragment()); } boolean[] fragmentsUpdateFlag = {false, false}; public class TaskAdapter extends FragmentPagerAdapter { FragmentManager fm; private List<String> list_Title;//tab名的列表 public TaskAdapter(FragmentManager fm) { super(fm); this.fm = fm; list_Title=new ArrayList<>(); list_Title.add("已完成"); list_Title.add("已取消"); } @Override public Fragment getItem(int position) { return list_fragment.get(position); } @Override public int getCount() { return list_fragment.size(); } //此方法用来显示tab上的名字 @Override public CharSequence getPageTitle(int position) { return list_Title.get(position % list_Title.size()); } public Object instantiateItem(ViewGroup container, int position) { //得到缓存的fragment Fragment fragment = (Fragment) super.instantiateItem(container,position); Log.e("TaskStatisticsActivity","position ="+position); //得到tag String fragmentTag = fragment.getTag(); if (fragmentsUpdateFlag[position % fragmentsUpdateFlag.length]) { //如果这个fragment需要更新 FragmentTransaction ft = fm.beginTransaction(); //移除旧的fragment ft.remove(fragment); //换成新的fragment fragment = list_fragment.get(position % list_fragment.size()); //添加新fragment时必须用前面获得的tag ❶ ft.add(container.getId(), fragment, fragmentTag); ft.attach(fragment); ft.commit(); //复位更新标志 fragmentsUpdateFlag[position % fragmentsUpdateFlag.length] = false; } return fragment; } }}
0 0
- TableLayout和ViewPager的使用
- TableLayout与TabeLayout+ViewPager的使用
- TableLayout和TableRow的使用
- TableLayout和Viewpager实现切换
- Android--------TableLayout和Viewpager联动
- ViewPager+TableLayout 的简单用法
- PullToRefresh和TableLayout,fragment的联合使用
- TableLayout+ViewPager
- TableLayout和ViewPager实现标题栏索引
- TableLayout与ViewPager的简单应用
- TableLayout的使用
- TableLayout的简单使用
- TableLayout的使用
- Android TableLayout的使用
- TableLayout的使用
- TableLayout的使用
- TableLayout的使用
- tablelayout的使用
- 缺乏思路时参考
- 第三十六讲项目二 转着圈加密
- 全球云计算开源大会——重磅嘉宾Cloudin云英
- (四)RabbitMQ消息队列-服务详细配置与日常监控管理
- 深度学习算法实践12---卷积神经网络(CNN)实现
- TableLayout和ViewPager的使用
- composer install和update慢的问题
- java中抽abstract和interface
- 复习JQ (4)
- MongoDB运行机制
- 深度学习算法实践13---去噪自动编码机(Denosing Autoencoder)
- vector
- android studio修改左边栏文件颜色
- rabbitmq.config详细配置参数