fragment滑动界面
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滑动界面的更多相关文章
- viewpager fragment 滑动界面
先新建几个fragment,包括java和xml 然后在主界面的布局文件中: <android.support.v4.view.ViewPager android:id="@+id/m ...
- (转)android Fragments详解三:实现Fragment的界面
为fragment添加用户界面 fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中. 一个 要为fragment提供layo ...
- Android Fragment详解(三): 实现Fragment的界面
为fragment添加用户界面: Fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中. 一个 要为fragment提供layout ...
- android关于实现滑动界面
首先要说的是,滑动界面,我们需要一个以上的view切换,实际上可以使用ArrayList<View> pageViews要保存view信息,然后切换 LayoutInflater infl ...
- 创建多个Fragment可滑动界面
创建新项目,选择Tabbed Activity 默认就有2个Fragment,这里我们删除相关代码. 在切换时 FragmentPagerAdapter onDestroyView onCreateV ...
- FragmentCustomAnimation实现Fragment的界面切换
1.知识点:FragmentCustomAnimation 2.演示样例:来自于官网演示样例的简化,这样更方便于学习该知识点. 本演示样例的源代码下载地址为:http://download.csdn. ...
- [Android] 使用Include布局+Fragment滑动切换屏幕
前面的文章已经讲述了"随手拍"项目图像处理的技术部分,该篇文章主要是主界面的布局及屏幕滑动切换,并结合鸿洋大神的视频和郭神的第一行代码(强推两人Android博客),完毕了 ...
- Fragment滑动切换简单案例
Fragment的产生与介绍Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神 ...
- SlidingMenu开源项目滑动界面的实现总结
先上图 须要准备的是先得在GitHub上下载ActionBarSherlock-master.zip,和SlidingMenu-master.zip这两个开源文件,然后解压这两个包,SlidingMe ...
随机推荐
- python爬虫基础_webwechat
简单的模拟:借用微信网页版,写个扫码页面,登录页面,实现简单的登录.联系人列表.发消息,收消息. 以下是笔记: #!/usr/bin/env python # coding:utf-8 from fl ...
- 东芝L10安装Centos5.5
为什么安装5.5:因为高版本的需要PAE设定但是老电脑不支持,偶又不想重新编译内核,so... 1. 安装之前需要把电脑格式化(我是整机安装Linux),否则会报not enough space l ...
- JavaScript中call和apply方法的使用
acvaScript中的call()方法和apply()方法,在某些时候这两个方法还确实是十分重要的.1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法.2. 相同点:这两 ...
- SR-IOV 简介
SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性.SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Exp ...
- 帝国cms中下拉框select的绑定
在修改数据模型中,将下拉框的表示代码换成下: 将id换成自己的id地址.数据库查询中的classid换成自己创建栏目的id. <select name="diqu" id=& ...
- spark学习笔记_1
简单的讲,Apache Spark是一个快速且通用的集群计算系统. Apache Spark 历史: 2009年由加州伯克利大学的AMP实验室开发,并在2010年开源,13年时成长为Apache旗下大 ...
- 数字特征值-python
#Digital eigenvalue.py number = eval(input()) count = 0 Ob = 0 Ox = 0 while number > 0: Ob = numb ...
- DJango 前三天小结
一 DJango 所有命令: 1下载: 控制台:pip install django== pip install django== -i 源解释器:找到解释器,点击加号搜索django 2创建项目; ...
- java 环境的安装、设置免密登陆、进行hadoop安装、关闭防火墙
1.去这个网站下载对应的版本:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html我这 ...
- 一个mysqldump的报错
1.MySQL版本 5.7.14-log 2.问题分析 mysqldump -uxxx -pxxx db_nale 一般来讲上述命令主要是用于MySQL的逻辑备份,用来备份某个数据的全部表,但是我在执 ...