//页面布局
<?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=".GoodsActivity"
android:orientation="vertical"
>
<com.handmark.pulltorefresh.library.PullToRefreshScrollView
android:id="@+id/goods_scrollview"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="240dp"
android:orientation="vertical"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="240dp">
<android.support.v4.view.ViewPager
android:id="@+id/goods_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0f0"
>
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/goods_line"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:background="#ff5656"
android:gravity="center"
android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<bwei.com.day_0524_yuekaol_lianxi.MyListView
android:id="@+id/goods_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"></bwei.com.day_0524_yuekaol_lianxi.MyListView>
</LinearLayout>
</com.handmark.pulltorefresh.library.PullToRefreshScrollView>
</LinearLayout>
//java代码
public class ShowActivity extends AppCompatActivity implements View.OnClickListener {
private ViewPager viewpager;
private RadioGroup radio;
private TextView shangpin;
private TextView tuijian;
private DrawerLayout dar;
//创建一个装fragment的容器
private List<Fragment> fs = new ArrayList<>();
private ShouYeFragment shouye;
private FenLeiFragment fenlei;
private WoDeFragment wode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
//初始化页面
initViews();
initFragments();
}
public void initFragments() {
shouye = new ShouYeFragment();
fenlei = new FenLeiFragment();
wode = new WoDeFragment();
fs.add(shouye);
fs.add(fenlei);
fs.add(wode);
//穿那个键适配器
MyFragment mf = new MyFragment(getSupportFragmentManager(), fs);
viewpager.setAdapter(mf);
//设置viewpager的滑动监听事件
viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position) {
case 0:
radio.check(R.id.shouye);
break;
case 1:
radio.check(R.id.fenlei);
break;
case 2:
radio.check(R.id.wode);
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
private void initViews() {
viewpager = findViewById(R.id.main_viewpager);
radio = findViewById(R.id.main_radio);
shangpin = findViewById(R.id.shangpin);
tuijian = findViewById(R.id.tuijian);
dar = findViewById(R.id.main_dar);
//点击商品跳转
shangpin.setOnClickListener(this);
//点击推荐吐司
tuijian.setOnClickListener(this);
//默认展示第一页面
radio.check(R.id.shouye);
radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.shouye:
viewpager.setCurrentItem(0);
break;
case R.id.fenlei:
viewpager.setCurrentItem(1);
break;
case R.id.wode:
viewpager.setCurrentItem(2);
break;
}
}
});
}
//点击事件
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tuijian:
Toast.makeText(ShowActivity.this, "推荐", Toast.LENGTH_SHORT).show();
break;
//点击商品跳转
case R.id.shangpin:
Intent it = new Intent(ShowActivity.this,GoodsActivity.class);
startActivity(it);
break;
}
;
}
}
//适配器
public class MyFragment extends FragmentPagerAdapter {
private List<Fragment> fs;
public MyFragment(FragmentManager fm, List<Fragment> fs) {
super(fm);
this.fs = fs;
}
@Override
public Fragment getItem(int position) {
return fs.get(position);
}
@Override
public int getCount() {
return fs.size();
}
}
本文介绍了一个Android应用的具体布局实现方式,包括使用PullToRefreshScrollView实现下拉刷新功能,通过ViewPager展示不同的Fragment,并实现了Fragment之间的平滑切换及底部导航栏的联动效果。
1996

被折叠的 条评论
为什么被折叠?



