ViewPage+Fragment 滑动+点击

本文详细介绍了如何在Android应用中使用ViewPager结合Fragment实现页面滑动和点击交互。通过实例代码,展示了如何配置适配器、处理滑动事件以及设置点击监听,为用户提供流畅的页面浏览体验。
摘要由CSDN通过智能技术生成
package com.example.fragmentviewpage;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.example.fragmentviewpage.Fragment.F1;
import com.example.fragmentviewpage.Fragment.F2;
import com.example.fragmentviewpage.Fragment.F3;
import com.example.fragmentviewpage.Fragment.F4;
import com.example.fragmentviewpage.Fragment.F5;
import com.example.fragmentviewpage.FragmentApdpter.MyFragmentPagerAdapter;

import java.util.ArrayList;

public class MainActivity extends FragmentActivity implements View.OnClickListener, ViewPager.OnPageChangeListener {

    private ViewPager mVp;
    private Button mButton1;
    private Button mButton2;
    private Button mButton3;
    private Button mButton4;
    private Button mButton5;
    private ImageView mImageView;
    private ArrayList<Fragment> mFragments;
    //标志指示标签的横坐标
    float cursorX = 0;
    //所有按钮的宽度的集合
    private int[] widthArgs;
    private Button[] mBut;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        initvp();

    }

    private void initvp() {


        mVp = (ViewPager) findViewById(R.id.vp);

        mButton1 = (Button) findViewById(R.id.btn_first);
        mButton2 = (Button) findViewById(R.id.btn_second);
        mButton3 = (Button) findViewById(R.id.btn_third);
        mButton4 = (Button) findViewById(R.id.btn_four);
        mButton5 = (Button) findViewById(R.id.btn_fifth);

        mBut = new Button[]{
 mButton1,mButton2,mButton3,mButton4,mButton5};
        mImageView = (ImageView) findViewById(R.id.cursor_btn);
        mImageView.setBackgroundColor(Color.RED);


        //通过此方法设置指示器的初始大小和位置

        mButton1.post(new Runnable() {

            private LinearLayout.LayoutParams mLayoutParams;

            @Override
            public void run() {

                //减去边距*2,以对齐标题栏文字
                mLayoutParams = (LinearLayout.LayoutParams) mImageView.getLayoutParams();
                mLayoutParams.width=mButton1.getWidth()-mButton1.getPaddingLeft()*2;
                mImageView.setLayoutParams(mLayoutParams);
                mImageVie
ViewPage Fragment 是 Android 中的一个工具类,用于在一个 Activity 中显示多个 Fragment,并且可以通过滑动来切换不同的 Fragment。仿微信的话,可以使用 ViewPage Fragment实现类似微信的主界面,其中每个 Fragment 分别对应微信的不同功能模块。 首先,我们可以创建一个主界面的 Activity,该 Activity 包含一个 ViewPage,用于显示不同的 Fragment。然后,创建多个 Fragment,每个 Fragment 分别负责显示微信的不同功能模块,比如聊天列表、联系人列表、发现等。 在每个 Fragment 中,可以使用 RecyclerView 来展示列表数据,并根据不同的业务需求进行相应的逻辑处理。比如,在聊天列表中,可以显示每个聊天会话的头像、昵称、最近一条消息等信息,并通过点击监听实现跳转到聊天界面的功能。 另外,可以为每个 Fragment 添加相应的菜单选项,仿微信的底部导航栏,用于在不同的 Fragment 之间进行切换。通过监听导航栏的点击事件,并配合 ViewPage滑动,可以实现类似微信的切换效果。 此外,可以通过 FragmentManager 来管理 Fragment 的生命周期,并实现 Fragment 之间的通信。比如,在聊天界面中发送一条消息后,可以通过调用 FragmentManager 的方法刷新聊天列表界面,并更新最近一条消息的显示。 总而言之,使用 ViewPage Fragment 可以很方便地实现一个仿微信的界面,通过不同的 Fragment 展示不同的功能模块,使用户可以在同一个 Activity 中进行多个功能的切换和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值