ViewPager的使用

Android ViewPager、ViewPager2的基本使用详解及区别 这里写自定义目录标题欢迎使用Markdown编辑器ViewPager2 + ItemViewViewPager2 + Fragment合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 阅读详情

ViewPager可以实现页面的滚动功能,通常配合PagerTabStrip或者PagerTitleStrip一起使用,从而显示标题。如果要使用PagerTabStrip或者PagerTitleStrip的话,需要把它们作为ViewPager的子控件使用,同时应该设置它们的属性layout_gravity为top或者bottom,表示标题显示在顶部或者底部。ViewPager其实只是一个空页面,需要像ListView一样由PagerAdapter提供内容;

当你实现一个PagerAdapter时,至少需要重载以下几个方法:

当我们使用了PagerTitleStrip或者PagerTabStrip是还需要重载getPageTitle(int position);

示例如下:

布局文件:activity_main.xml

<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.viewpagerdemo.MainActivity" >

   <android.support.v4.view.ViewPager
       android:id = "@+id/viewpager"
       android:layout_width = "wrap_content"
       android:layout_height = "wrap_content"
       android:layout_gravity = "center" >
       
       <android.support.v4.view.PagerTitleStrip
           android:id = "@+id/pagertitle"
           android:layout_width = "wrap_content"
           android:layout_height = "wrap_content"
           android:layout_gravity = "top" />
       </android.support.v4.view.ViewPager>

</RelativeLayout>
tab1.xml:tab2.xml与tab3.xml基本一样,只是其中的id和text不一样;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:id = "@+id/tab1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text = "text1" />

</LinearLayout>
主活动:MainActivity

package com.example.viewpagerdemo;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;


public class MainActivity extends Activity {
	private ViewPager viewPager;
	private ArrayList<View> viewList ;
	private ArrayList<String> titleList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        viewPager = (ViewPager)findViewById(R.id.viewpager);
        viewList = new ArrayList<View>();
        viewList.add(getLayoutInflater().inflate(R.layout.tab1, null));
        viewList.add(getLayoutInflater().inflate(R.layout.tab2, null));
        viewList.add(getLayoutInflater().inflate(R.layout.tab3, null));
        titleList = new ArrayList<String>();
        titleList.add("语文");
        titleList.add("数学");
        titleList.add("英语");
        PagerAdapter pagerAdapter = new PagerAdapter()
        {

			@Override
			public int getCount() {
				// TODO Auto-generated method stub
				return viewList.size();
			}

			@Override
			public boolean isViewFromObject(View arg0, Object arg1) {
				// TODO Auto-generated method stub
				return arg0 == arg1;
			}
			
			public void destroyItem(ViewGroup container,int position,Object object)
			{
				container.removeView(viewList.get(position));
			}
			
			public Object instantiateItem(ViewGroup container,int position)
			{
				container.addView(viewList.get(position));
				return viewList.get(position);
			}
        	public CharSequence getPageTitle(int position)
        	{
        		return titleList.get(position);
        	}
        };
        viewPager.setAdapter(pagerAdapter);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
关于 getLayoutInflater()

至于其运行结果虽然可以实现页面的滑动,但是与我们常见的应用却有区别,因为其标题栏也会随着页面的滑动而滑动,给人以一种不和谐的感觉,若要实现标题栏不动的效果,需要自己定义光标;
实现标题栏不动的自定义光标的方法:

示例:

main_activity.xml:

<LinearLayout 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"
    android:orientation="vertical"
    tools:context="com.example.viewpagercursor.MainActivity" >

    <ImageView
        android:id = "@+id/cursor"
        android:layout_width="match_parent"
        android:layout_height = "wrap_content"
        android:scaleType="matrix"
        android:src = "@drawable/ic_launcher" />
    <android.support.v4.view.ViewPager
        android:id = "@+id/viewpager"
        android:layout_width = "wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />"
</LinearLayout>
其他布局文件与前面的一样;

MainActivity:

package com.example.viewpagercursor;

import java.util.ArrayList;

import android.app.Activity;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.DisplayMetrics;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;


public class MainActivity extends Activity {
	private ArrayList<View> viewContainer;
	private ViewPager viewPager;
	private ImageView cursor;
	
	private int bmpw = 0; //保存图片的宽度
	private int offest = 0;   //偏移
	private int currIndex = 0;  //页面编号
    @SuppressWarnings("deprecation")
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        viewPager = (ViewPager)findViewById(R.id.viewpager);
        cursor = (ImageView)findViewById(R.id.cursor);
        viewContainer = new ArrayList<View>();
        
        viewContainer.add(getLayoutInflater().inflate(R.layout.tab1, null));
        viewContainer.add(getLayoutInflater().inflate(R.layout.tab2, null));
        viewContainer.add(getLayoutInflater().inflate(R.layout.tab3, null));
        
        PagerAdapter pagerAdapter = new PagerAdapter()
        {

			@Override
			public int getCount() {
				// TODO Auto-generated method stub
				return viewContainer.size();
			}

			@Override
			public boolean isViewFromObject(View arg0, Object arg1) {
				// TODO Auto-generated method stub
				return arg0 == arg1;
			}
			
			public void destroyItem(ViewGroup container,int position, Object object)
			{
				container.removeView(viewContainer.get(position));
			}
			
			public Object instantiateItem(ViewGroup container,int position)
			{
				container.addView(viewContainer.get(position));
				return viewContainer.get(position);
			}
        	
        };
        initCursor();
        viewPager.setAdapter(pagerAdapter);
        
        viewPager.setOnPageChangeListener(new OnPageChangeListener()
        {
        	int one = offest*2 + bmpw;
        	int two = one *2;
			@Override
			public void onPageScrollStateChanged(int arg0) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void onPageScrolled(int arg0, float arg1, int arg2) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void onPageSelected(int arg0) {
				// TODO Auto-generated method stub
				Animation animation = null;
				switch(arg0)
				{
				case 0:
				{
					if(currIndex == 1)
						animation = new TranslateAnimation(one,0,0,0);
					else if(currIndex == 2)
						animation = new TranslateAnimation(two,0,0,0);
					break;
				}
				case 1:
				{
					if(currIndex == 0)
						animation = new TranslateAnimation(offest,one,0,0);
					else if(currIndex == 2)
						animation = new TranslateAnimation(two,one,0,0);
					break;
				}
				case 2:
				{
					if(currIndex == 0)
						animation = new TranslateAnimation(offest,two,0,0);
					else if(currIndex == 1)
						animation = new TranslateAnimation(one,two,0,0);
					break;
				}
				}
				currIndex = arg0;
				animation.setFillAfter(true);
				animation.setDuration(300);
				cursor.startAnimation(animation);
			}
        	
        });
    }
    public void initCursor()
    {
    	
    	bmpw = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher).getWidth();
    	DisplayMetrics dm = new DisplayMetrics();
    	getWindowManager().getDefaultDisplay().getMetrics(dm);
    	int screenW = dm.widthPixels;
    	offest = (screenW/viewContainer.size()-bmpw)/2;
    	Matrix matrix = new Matrix();
    	matrix.postTranslate(offest, 0);  //水平平移offest
    	cursor.setImageMatrix(matrix);    //设置初始位置
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

关于 Matrix ;

关于Animation  ;

       上面的代码实现了游标的滚动,把一张图片作为游标,其实还可以像其他APP一样实现上面是标题栏,然后是游标,再下面是内容,实现方法差不多,可以参考ViewPager实现多页面滚动以及动画



——每天都要有进步








android之ViewPager的使用 ViewPager是一个非常强大的 UI组件,应用非常广泛。它提供了多界面切换的效果,具体来说就是∶当前显示一组界面中的一个界面,当用户左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分,滑动结束后,界面自动跳转到当前选择的界面中。 下面用实例来说明如何使用。 和之前的其他控件一样,使用ViewPager也需要把ViewPager对应的控件加入布局文件中。在MainActivity对应的布局文件中添加 ViewPager 的代码如下∶ ... 阅读详情

相关推荐

MOS管关断时尖峰电压的5种实用抑制方案(附实测数据对比)

本文针对MOS管关断时产生的尖峰电压问题,提供了五种经过实验室实测验证的实用抑制方案。文章从尖峰电压的成因分析入手,详细阐述了优化PCB布局、设计RC缓冲电路、选用TVS二极管钳位、调节驱动电路以及使用磁珠吸收高频振荡等方法的原理、实施步骤与实测数据对比,为硬件工程师解决开关电源和电机驱动中的过压应力与EMI问题提供了系统性的实战指南。

1239

ViewPager 2 使用讲解

之前早有耳闻 Google 为我们提供新的控件来替换老旧的 ViewPager 进而解决一些不好解决的bug问题,巴拉巴拉一大堆,就是前因后果啥的…相信读者已经在“张鸿洋”大神、“郭霖”大神或者是其他Android 大佬的公众号那里看见了许许多多了,或许各位感觉很无聊了,笔者菜鸟,分析不了历史背景,也不是很懂源码,但是小菜鸟,可以带给位看官尝个鲜,教你怎么用,怎么上手哈,闲话不多说,我们步入正题。...

韩小呆的博客 3万+

IBM 3560M3 R5 坏盘更换记录

公司一台老旧 3650M3在日常巡查过程中发现硬盘报错

ddriv的博客 3941

ViewPager 的使用

ViewPager 的使用    ViewPager 是谷歌提供给我们进行滑动切换页面的一个工具类,如果我们需要使用 ViewPager 的话,最少涉及到 2个类    1. ViewPager    2. PagerAdapter - ViewPager 的适配器,为 viewpager 提供内容 如: ---------------------------

liangxunx的博客 302

Surface Pro 4/5/6/7保姆级黑苹果安装:从Windows分区到OC引导配置全流程(含EFI文件替换避坑)

本文详细介绍了在Surface Pro 4/5/6/7上安装黑苹果的全流程,包括Windows分区、OC引导配置和EFI文件替换等关键步骤。通过实战经验分享,帮助用户避开常见陷阱,实现Windows与macOS双系统完美共存,特别适合对黑苹果安装感兴趣的Surface Pro用户。

weixin_30300225的博客 1369

电力电子论文(TPE、TTE)投稿经验分享

电力电子顶刊论文投稿经验

橙子的博客 2万+

ViewPager+Fragment的使用

ViewPager配合Fragment的使用一、ViewPager和View的组合使用标题(一)、给ViewPager设置标题1、在Layout布局中加入ViewPager:<android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent"

peigangwei1314520的博客 357

STM32移植LVGL(LittleVGL)

**STM32移植LVGL(LittleVGL)**

qq_53000374的博客 1万+

viewpager使用_ViewPager 使用时遇到了一个坑

本文由 请手下留情授权投稿原文链接:https://www.jianshu.com/p/6b028cfe8ec6在我们使用ViewPager的过程中都需要传入一个FragmentManager,至于FragmentManager该怎么选择呢,相信大部分人都知道。在Activity中传入supportFragmentManager,在fragment中则使用childFragmentMa...

weixin_39676979的博客 240

当OTN网络遭遇LOS告警:5个运维老手才知道的故障定位技巧(含CA动作对照表)

本文深入解析OTN网络中LOS告警的实战定位技巧,涵盖光功率深度诊断、模块差异分析及核心的CA动作机制。通过逆向追踪告警流与对照速查表,帮助运维人员快速锁定故障段落,区分硬软故障,并掌握系统健康度评估方法,从而提升排障效率与网络稳定性。

weixin_29266007的博客 551

边缘计算与产业生态系统

目录 文章目录目录边缘计算产业参与者边缘计算产业生态系统 边缘计算产业参与者 边缘计算领域参与者众多,主流公司以打造生态优势为目标,基于自身服务层级向产业链上下两端进行拓展,目前市场主要参与者有: 系统集成商:在产业头部,具有广泛的能力,可以集成不同生态系统公司的产品,具有一定的全球性属性,在边缘计算领域大多由云服务商、电信运营商担任。 云服务商:具有领先的云技术优势与应用生态体系,同时拥有全球性资源布局与市场资源生态,并渴望成为边缘计算主导者。 电信运营商:具有边缘基础设施优势,以及不可替代的

烟云的计算 2102

Android viewpager使用

介绍android viewpager的使用

qq_33782617的博客 7999

【OpenFOAM】-olaFlow-算例10-wavemakerTank

采用 Flap和Piston两种方式的动网格进行造波

ou_no的博客 2167

ViewPager及ViewPager的使用

1.首先准备布局<android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" />2.准备数据源 LayoutInflater inflater=getLayoutInf

spring2335的博客 191

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ViewPager的简单使用

ViewPager就是一个简单的页面切换组件,我们可以往里面填充多个View,然后我们可以左 右滑动,从而切换不同的View,我们可以通过setPageTransformer()方法为我们的ViewPager 设置切换时的动画效果,当然,动画我们还没学到,所以我们把为ViewPager设置动画 放到下一章绘图与动画来讲解!

qq_25502783的博客 1198

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ViewPager2 使用

布局管理器允许左右翻转带数据的页面,你想要显示的视图可以通过实现PagerAdapter来显示。这个类其实是在早期设计和开发的,它的API在后面的更新之中可能会被改变,当它们在新版本之中编译的时候可能还会改变源码。ViewPager经常用来连接Fragment,它很方便管理每个页面的生命周期,使用ViewPager管理Fragment是标准的适配器实现。最常用的实现一般有FragmentPagerAdapter和FragmentStatePagerAdapter。

子冉冰清的博客 3166

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ViewPager和ViewPager2的简单使用,TabLayout与ViewPager2联用以及轮播图的实现。

ViewPager和ViewPager2的简单使用,TabLayout和ViewPager2的联用以及轮播图的实现代码。

m0_74000465的博客 1927

ViewPager2的使用

文章目录 前言 ViewPager2 介绍 ViewPager2使用 集成遇到的问题 前言 官网上显示 April 3rd, 2019 androidx.viewpager2:viewpager2:1.0.0-alpha03 is released. 也就是测试版已经第三版了,一直有关注着,今天想想就拿出来练手了,后面的优化更多的应该是bug的修复,或者增加新API,基本的使用应该是不会太大变...

shenshizhong的专栏 2954

viewpager的使用

一、创建layout布局 可根据自己需要多少页面,就创建多少布局 第二步、创建一个总布局viewpager`` <androidx.viewpager.widget.ViewPager android:id="@+id/vp" android:layout_width=“match_parent” android:layout_height=“match_parent” android:background="#27A0B0"> </androidx.viewpager.widge

weixin_44721153的博客 561

android viewpager的使用,ViewPager的基本使用

一、ViewPager:ViewPager是android-support-v4.jar包中的一个系统控件ViewPager继承自ViewGroupViewPager专门用以实现左右滑动切换View的效果二、ViewPager常用方法setAdapter(PagerAdapter adapter)建立与适配器的联系adapter:与ViewPager配合使用的适配器ViewPager.getCur...

weixin_34869021的博客 1040

使用Fragment填充ViewPager

今天我们实现的是使用Fragment来填充ViewPager,首先说一下,很重要,我们要使用Fragment 来填充ViewPager布局的话。我们所有的类所继承的类的包都是在v4包下的,注意咯!这句话我可能描述的不是很清楚,没事, 我们在代码中都有解释。 具体的实现步骤: 1、在activity_main.xml文件中定义一个LinearLayout布局,其中包含4个TextView,就

hi_0123的专栏 1952

Fragment和ViewPager的介绍和使用

PagerAdapter是一个基类适配器,我们经常用它来实现app引导图,它的子类有FragmentPagerAdapter和FragmentStatePagerAdapter,这两个子类适配器用于和Fragment一起使用,在安卓应用中它们就像listview一样出现的频繁。ViewPager是android扩展包中的类,这个类可以让用户左右切换当前的view,常见于各大App中的轮动广告,Banner图等。同Activity一样,Fragment的生命周期的管理依然是通过一系列的方法实现的。

2401_87299237的博客 931

androidx viewpager2的使用详解

最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。由于篇幅有限,这里以图片的形式给大家展示一小部分。

2401_84149256的博客 1466
上一篇: 进程与线程(二)
下一篇: ActionBar的使用
float_wind
博客等级 码龄11年 2粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值