1.代码页面

package com.example.fragment_list_copy;

import android.app.FragmentManager;
import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout; import com.example.fragment_list_copy.Fragment.OneFragment;
import com.example.fragment_list_copy.Fragment.ThreeFragment;
import com.example.fragment_list_copy.Fragment.TwoFragment; import java.util.ArrayList;
import java.util.List; public class MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private LinearLayout linearLayout_points;
private List<Fragment> list_fragment = new ArrayList<>();
private View point; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
} private void init() {
viewPager = findViewById(R.id.viewPager);
linearLayout_points = findViewById(R.id.point_linearLayout);
list_fragment.add(new OneFragment()); /** 实例化Frament 并放入list_fragment*/
list_fragment.add(new TwoFragment());
list_fragment.add(new ThreeFragment());
viewPager.setAdapter(new MyAdapyer(getSupportFragmentManager())); for (int i = 0;i<list_fragment.size();i++){
point = new View(this);
point.setBackgroundResource(R.drawable.ic_launcher_background); /** 指定小圆点的选择器*/
point.setEnabled(false); /** 设置小圆点为白色*/
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(10,10);/** 设置小圆点大小*/
layoutParams.leftMargin = 10; /** 设置小圆点左边距*/
linearLayout_points.addView(point,layoutParams); /** 将小圆点添加到布局*/
}
linearLayout_points.getChildAt(0).setEnabled(true); /** 得到第一个小圆点并设置为红色*/
/**
* 为viewPager 设置监听
*/
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { }
@Override
public void onPageSelected(int position) {
/**
* 当显示的页面变更的时候 循环遍历
* 将与选中页面对应的小圆点变为红色,其他变为白色
*/
for (int i = 0;i<list_fragment.size();i++){
if (i == position){
linearLayout_points.getChildAt(i).setEnabled(true);
}else {
linearLayout_points.getChildAt(i).setEnabled(false);
}
}
} @Override
public void onPageScrollStateChanged(int state) { }
});
}
/**
* 重写 FragmentPagerAdapter
* MyAdapter 、getCount 、getItem
*
*/ private class MyAdapyer extends FragmentPagerAdapter {
public MyAdapyer(android.support.v4.app.FragmentManager fragmentManager) {
super(fragmentManager);
} @Override
public int getCount() {
return list_fragment.size();
} @Override
public Fragment getItem(int position) {
return list_fragment.get(position);
}
}
}

2.主布局页面

<?xml version="1.0" encoding="utf-8"?>
<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"
android:orientation="vertical" tools:context="com.example.fragment_list_copy.MainActivity">
<include layout=""
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"> </android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/point_linearLayout"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginBottom="40dp"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="40dp"> </LinearLayout> </RelativeLayout>

3.创建三个小页面

1.package com.example.fragment_list_copy.Fragment;

import android.os.Bundle;
import android.os.TokenWatcher;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast; import com.example.fragment_list_copy.R; /**
* A simple {@link Fragment} subclass.
*/
public class OneFragment extends Fragment {
public OneFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_one,container, false); } @Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toast.makeText(getActivity(), "=========", Toast.LENGTH_SHORT).show();
}
}
2.
package com.example.fragment_list_copy.Fragment;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import com.example.fragment_list_copy.R; /**
* A simple {@link Fragment} subclass.
*/
public class TwoFragment extends Fragment { public TwoFragment() {
// Required empty public constructor
} @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_two,container, false); } }
3.
package com.example.fragment_list_copy.Fragment;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import com.example.fragment_list_copy.R; /**
* A simple {@link Fragment} subclass.
*/
public class ThreeFragment extends Fragment { public ThreeFragment() {
// Required empty public constructor
} @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_three,container, false);
} }

4.小页面的布局代码

第一个小页面中有五个button

1<FrameLayout 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"
tools:context="com.example.fragment_list_copy.Fragment.OneFragment"
android:background="#00aaaa"
> <!-- TODO: Update blank fragment layout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout> <LinearLayout
android:layout_marginBottom="10dp"
android:gravity="bottom|center"
android:layout_width="match_parent"
android:layout_height="match_parent"> <Button
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="环境指标"
android:id="@+id/bt_hjzb"
/>
<Button
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="历史数据"
android:id="@+id/bt_lssj"/>
<Button
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手动控制"
android:id="@+id/bt_sdkz"
/>
<Button android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="系统设置"
android:id="@+id/bt_xtsz"
/> <Button
android:id="@+id/bt_cy"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="创意设计"
/>
</LinearLayout> </FrameLayout>
2.
<FrameLayout 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"
tools:context="com.example.fragment_list_copy.Fragment.TwoFragment"
android:background="#ba55"
> <!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment"/> </FrameLayout>
3.
<FrameLayout 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"
tools:context="com.example.fragment_list_copy.Fragment.ThreeFragment"
android:background="#ccc3"
> <!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment"/> </FrameLayout>

fragment滑动界面的更多相关文章

  1. viewpager fragment 滑动界面

    先新建几个fragment,包括java和xml 然后在主界面的布局文件中: <android.support.v4.view.ViewPager android:id="@+id/m ...

  2. (转)android Fragments详解三:实现Fragment的界面

    为fragment添加用户界面 fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中.    一个 要为fragment提供layo ...

  3. Android Fragment详解(三): 实现Fragment的界面

    为fragment添加用户界面: Fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中. 一个 要为fragment提供layout ...

  4. android关于实现滑动界面

    首先要说的是,滑动界面,我们需要一个以上的view切换,实际上可以使用ArrayList<View> pageViews要保存view信息,然后切换 LayoutInflater infl ...

  5. 创建多个Fragment可滑动界面

    创建新项目,选择Tabbed Activity 默认就有2个Fragment,这里我们删除相关代码. 在切换时 FragmentPagerAdapter onDestroyView onCreateV ...

  6. FragmentCustomAnimation实现Fragment的界面切换

    1.知识点:FragmentCustomAnimation 2.演示样例:来自于官网演示样例的简化,这样更方便于学习该知识点. 本演示样例的源代码下载地址为:http://download.csdn. ...

  7. [Android] 使用Include布局+Fragment滑动切换屏幕

        前面的文章已经讲述了"随手拍"项目图像处理的技术部分,该篇文章主要是主界面的布局及屏幕滑动切换,并结合鸿洋大神的视频和郭神的第一行代码(强推两人Android博客),完毕了 ...

  8. Fragment滑动切换简单案例

    Fragment的产生与介绍Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神 ...

  9. SlidingMenu开源项目滑动界面的实现总结

    先上图 须要准备的是先得在GitHub上下载ActionBarSherlock-master.zip,和SlidingMenu-master.zip这两个开源文件,然后解压这两个包,SlidingMe ...

随机推荐

  1. C++面试笔记(2)

    11 explicit 显式构造函数 explicit修饰的构造函数可用来防止隐式转换 class Test1 { public: Test1(int n) // 普通构造函数 { num=n; } ...

  2. 2018-2019-2 网络对抗技术 20165326 Exp3 免杀原理与实践

    免杀原理与实践 目录 知识点问答 实践内容 遇到的问题 心得体会 知识点 meterpreter免杀 基础问题回答 杀软是如何检测出恶意代码的? 特征码(基于签名):模式匹配,比对特征码库 启发式:通 ...

  3. VS2017 nlog源码查看报错

    最近下载nlog的源码学习,打开解决方案以后无法编译. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Sd ...

  4. java编码与解码(一)

    转:https://blog.csdn.net/heyanxi0101/article/details/80356870 java编码与解码(一) 编码表概述和常见的编码表 概述:有字符及其对应的数值 ...

  5. WINDOWS7环境下Informatica的安装[新手]

    环境: 操作系统:Windows7(64位): 数据库:Oracle 11g R2: 数据库字符集:UTF-8 一.下载: (参考链接:https://blog.csdn.net/u011031430 ...

  6. Linux 驱动——LED(驱动分离分层)

    led_dev.c文件: #include <linux/module.h>#include <linux/version.h> #include <linux/init ...

  7. Excel 导入时如何下载模板信息(Java)

    大家知道,我们在实现 Excel 上传的时候,会让我们去下载个模板,然后实现导入功能.在此我在这里记录下来,以便后续的使用... 首先思考一个问题是 这个模板这么给前台,还有这个模板是这么来的,刚开始 ...

  8. Linux_系统管理_网络配置_命令行配置网络

    因为格了系统,重新安装了VMware,加载了原来的虚拟机后,因为VMware虚拟网卡Vmnet8的地址已经变了,所以要改变下客户操作系统的地址,结果搞了半天才搞定,这里记下来,希望能够为遇到这类问题的 ...

  9. pyCharm django 中新加app

    1.在manage.py@djangotest中输入命令: 1.startapp   realnameauth   ---新建一个app,名字为realnameauth 2.在 django 项目中的 ...

  10. git和redmine同步

    最近实现了github以及内部的gitbucket与redmine的同步. redmine是内部使用的一套工单系统,用于跟踪bug和需求,由于最近同时开发的版本比较多,在不同分支的提交容易漏掉.现在改 ...