tablayout横向滑动
来源:互联网 发布:淘宝网返利网 编辑:程序博客网 时间:2024/06/11 07:21
需要添加依赖,添加后会报错,改为26.+就行
xml布局代码
<
RelativeLayout
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
=
"zhanghaijiao.bawei.com.tablayout_demo.MainActivity"
>
<!--
app:tabGravity="center" 设置居中对齐
app:tabIndicatorColor="@color/colorAccent" 下滑线的颜色
app:tabMode="scrollable" 设置tabLayoout菜单的模式,,,scrollable可以横向滚动 fixed:固定
app:tabSelectedTextColor="@color/colorPrimaryDark" 选中的时候文字的颜色
app:tabTextColor="@color/colorPrimary" 文本默认的颜色
-->
<
android.support.design.widget.TabLayout
android:layout_width
=
"match_parent"
android:layout_height
=
"50dp"
android:id
=
"@+id/mytab"
app:tabGravity
=
"center"
app:tabIndicatorColor
=
"@color/colorAccent"
app:tabMode
=
"scrollable"
app:tabSelectedTextColor
=
"@color/colorPrimaryDark"
app:tabTextColor
=
"@color/colorPrimary"
></
android.support.design.widget.TabLayout
>
</
RelativeLayout
>
只添加选项卡
myTab.addTab(myTab.newTab().setText(
"新闻"
));
监听事件
//选项卡被选中的监听事件
myTab.setOnTabSelectedListener(
new
TabLayout.OnTabSelectedListener() {
@Override
public
void
onTabSelected(TabLayout.Tab tab) {
Toast.makeText(MainActivity.
this
,tab.getText().toString(),Toast.LENGTH_SHORT).show();
}
@Override
public
void
onTabUnselected(TabLayout.Tab tab) {
}
@Override
public
void
onTabReselected(TabLayout.Tab tab) {
}
});
public
class
Fragment_04
extends
Fragment{
private
TabLayout myTab;
private
ViewPager view_Pager;
List<TabModel> myTabs=
new
ArrayList<>();
@Nullable
@Override
public
View onCreateView(LayoutInflater inflater,
@Nullable
ViewGroup container,
@Nullable
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment4, container,
false
);
myTab = (TabLayout) view.findViewById(R.id.my_tab);
view_Pager = (ViewPager) view. findViewById(R.id.view_pager);
return
view;
}
@Override
public
void
onActivityCreated(
@Nullable
Bundle savedInstanceState) {
super
.onActivityCreated(savedInstanceState);
myTabs.add(
new
TabModel(
"数据新闻"
,
"xbsjxw"
));
myTabs.add(
new
TabModel(
"快讯"
,
"txs"
));
myTabs.add(
new
TabModel(
"头条"
,
"toutiao"
));
myTabs.add(
new
TabModel(
"精编公告"
,
"news/mobile/jbgg"
));
myTabs.add(
new
TabModel(
"美股"
,
"news/mobile/mgxw"
));
myTabs.add(
new
TabModel(
"港股"
,
"news/mobile/ggxw"
));
myTabs.add(
new
TabModel(
"基金"
,
"news/mobile/jjxw"
));
myTabs.add(
new
TabModel(
"理财"
,
"news/mobile/lcxw"
));
//创建适配器
view_Pager.setAdapter(
new
MyVpAdapter(getActivity().getSupportFragmentManager()));
//将TabLayout与viewPager创建关联
myTab.setupWithViewPager(view_Pager);
//设置加载全部界面数据
view_Pager.setOffscreenPageLimit(myTabs.size());
}
class
MyVpAdapter
extends
FragmentPagerAdapter {
public
MyVpAdapter(FragmentManager fm) {
super
(fm);
}
//返回每个页面的title
@Override
public
CharSequence getPageTitle(
int
position) {
return
myTabs.get(position).getName();
}
@Override
public
Fragment getItem(
int
position) {
//position:页面的下标
Bundle b=
new
Bundle();
String urls = myTabs.get(position).getUrls();
b.putString(
"key"
,urls);
b.putString(
"pageIndex"
,
"1"
);
v_fragment v_fragment=
new
v_fragment();
v_fragment.setArguments(b);
return
v_fragment;
}
//返回viewPager的加载的页面的数量
@Override
public
int
getCount() {
return
myTabs.size();
}
}
}
public
class
v_fragment
extends
Fragment {
private
XListView xlist_view;
private
String urlpart=
"http://mnews.gw.com.cn/wap/data/news/"
;
private
String key_url;
private
String Y=
"/page_"
;
private
int
pageIndex=
1
;
//第1页的数据
private
String j=
".json"
;
private
String url;
private
List<UserBean_1.DataBean> data=
new
ArrayList<>();
private
MyAdapter_01 adapter;
private
int
operType=
1
;
private
Bundle bundle;
@Nullable
@Override
public
View onCreateView(LayoutInflater inflater,
@Nullable
ViewGroup container,
@Nullable
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.v_layout, container,
false
);
xlist_view = view.findViewById(R.id.xlist_view);
bundle = getArguments();
if
(bundle !=
null
){
key_url = bundle.getString(
"key"
);
url=urlpart+key_url+Y+pageIndex+j;
}
return
view;
}
@Override
public
void
onActivityCreated(
@Nullable
Bundle savedInstanceState) {
super
.onActivityCreated(savedInstanceState);
//对xlistview进行设置
xlist_view.setPullLoadEnable(
true
);
//上拉加载更多
xlist_view.setPullRefreshEnable(
true
);
//下拉刷新
//设置接口
xlist_view.setXListViewListener(
new
XListView.IXListViewListener() {
@Override
public
void
onRefresh() {
//刷新
//刷新时,重新请求第1页的数据
pageIndex=
1
;
url=urlpart+key_url+Y+pageIndex+j;
//重新赋值
operType=
1
;
//获取数据
MyTask task=
new
MyTask(
new
MyTask.Icallbacks() {
@Override
public
void
getJsonData(String jsonstr) {
List<UserBean_1> datas=
new
ArrayList<>();
Type type=
new
TypeToken<List<UserBean_1>>(){}.getType();
Gson gson=
new
Gson();
datas= gson.fromJson(jsonstr, type);
UserBean_1 userBean_1 = datas.get(
0
);
data.addAll(userBean_1.getData());
//创建适配器
setAdapter();
}
});
task.execute(url);
}
@Override
public
void
onLoadMore() {
//加载更多
//页数增加
pageIndex++;
url=urlpart+key_url+Y+pageIndex+j;
//重新赋值
operType=
2
;
//加载更多
//获取数据
MyTask task=
new
MyTask(
new
MyTask.Icallbacks() {
@Override
public
void
getJsonData(String jsonstr) {
List<UserBean_1> datas=
new
ArrayList<>();
Type type=
new
TypeToken<List<UserBean_1>>(){}.getType();
Gson gson=
new
Gson();
datas= gson.fromJson(jsonstr, type);
UserBean_1 userBean_1 = datas.get(
0
);
data.addAll(userBean_1.getData());
//创建适配器
setAdapter();
}
});
task.execute(url);
}
});
//获取数据
MyTask task=
new
MyTask(
new
MyTask.Icallbacks() {
@Override
public
void
getJsonData(String jsonstr) {
List<UserBean_1> datas=
new
ArrayList<>();
Type type=
new
TypeToken<List<UserBean_1>>(){}.getType();
Gson gson=
new
Gson();
datas= gson.fromJson(jsonstr, type);
UserBean_1 userBean_1 = datas.get(
0
);
data.addAll(userBean_1.getData());
//创建适配器
setAdapter();
}
});
task.execute(url);
}
public
void
setAdapter(){
if
(adapter==
null
){
adapter =
new
MyAdapter_01(data,getActivity());
xlist_view.setAdapter(adapter);
}
else
{
adapter.notifyDataSetChanged();
}
}
}
阅读全文
0 0
- 横向滑动Tablayout
- 横向滑动 TabLayout
- TabLayout横向滑动
- 横向滑动菜单TabLayout
- tablayout横向滑动
- TabLayout横向滑动菜单
- TabLayout横向滑动
- Android横向滑动导航TabLayout
- TabLayout横向滑动菜单code
- TabLayout横向滑动菜单code
- 横向菜单滑动选择viewpager+tablayout+fragment
- 侧拉 横向滑动tablayout 无限轮播
- Android中横向滑动(TabLayout+ViewPager)的实现
- 网络判断+Fragment+ViewPager+XListView+TabLayout横向滑动菜单 Z2
- DrawerLayout侧滑+TabLayout横向滑动+ViewPager+轮播+PullToRefresh
- 横向滑动菜单Tablayout和viewpager小圆点结合滑动仿今日头条
- TabLayout滑动
- TabLayout横向滚动
- css中设置边框阴影效果
- 2017年12月14日训练总结
- 基于UTP的Socket编程(基础)
- ionic侧拉实现
- 产品经理内功修炼——如何让用户任性的买买买
- tablayout横向滑动
- 网页复制的几种方法
- 12种视屏播放框架
- 关于需要学习的知识总结
- 2017.12.14 AtomicInteger、分页、MyBatis中trim标签
- 前端零基础入门(七):基础css样式之background
- 信息检索数据集
- 第19节项目3-分段函数求值
- python random