QQ5.0主界面实现

【Android】高仿QQ 5.0+ UI 每天接触的QQ客户端简介美观,特别是那个侧滑菜单更是吸引人,然后就想着自己做一个.前前后后折腾下来,总算有个样子了.先上效果图: 具体实现 登陆界面 主要是那个下拉列表,我是采用  PopUpWindow +ListView 实现锁屏界面 【Android】使用 SwipeRefreshLayout 实现下拉刷新侧滑菜单使用 HorizontalScro 阅读详情

学习资料:

①:http://www.imooc.com/comment/198  高仿微信5.2.1主界面及消息提醒

实现的效果:

可以左右滑动,而顶部的指示Tab横线跟随滑动,并且颜色改变。

实现消息提醒的效果 BadgeView


②:布局文件,没有新的东西

注意模块化的使用

<include layout="@layout/top" />

注意引入ViewPager控件

   <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </android.support.v4.view.ViewPager>


当考虑高度时,用 固定的 xdp 来表示,而不是 wrap_content


点9图片,如下情况,使用的是background有效。src无效。易于理解。

    <ImageView 
        android:id="@+id/tabLine"
        android:layout_width="50dp"
        android:layout_height="5dp"
        android:background="@drawable/tabline"
        android:layout_gravity="bottom"/>

③:

a. ViewPager的使用

1.找到数据源

2.定义适配器

3.设置监听

一般是 用 Fragment 作为数据源,添加到列表数组中去。然后 实现 继承 FragmentPagerAdapter 的适配器。


代码挺简单,不懂的方法,查看android的文档参考。

底部的指示条是根据ViewPager的回调方法,取得移动的数值,设置 指示条的 的 左边距 leftMargin

其中如何设置控件参数:

	LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) tabLine.getLayoutParams();
	int left = (int) (arg0*screenSize1_3 + arg1*screenSize1_3);
	lp.setMargins(left, 0, 0, 0);
	tabLine.setLayoutParams(lp);

b. BadgeView 使用简单,有空要学习它的实现。 https://github.com/stefanjauker/BadgeView 

		BadgeView bv = new BadgeView(this);
		bv.setBadgeCount(9);
<span style="white-space:pre">		</span>//bv.setTargetView(txvChat);<span style="white-space:pre">	</span>//会覆盖TextView上的文字显示
		ll_chat.addView(bv);

c. 

package com.example.qq_main5_0;

public class MainActivity extends FragmentActivity implements OnClickListener {

	private ViewPager viewPager;
	private List<Fragment> listViews;
	
	private ImageView tabLine;
	
	private int screenSize1_3;
	
	private static final String TAG = "MainActivity";
	
	private TextView txvChat;
	private TextView txvFind;
	private TextView txvContact;
	
	private LinearLayout ll_chat;
	private LinearLayout ll_find;
	private LinearLayout ll_contact;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		initWidget();
		initData();
		
	}

	private void initData() {
		BadgeView bv = new BadgeView(this);
		bv.setBadgeCount(9);
		ll_chat.addView(bv);
	}

	private void initWidget() {
		
		ll_chat = (LinearLayout) this.findViewById(R.id.ll_chat);
		ll_find = (LinearLayout) this.findViewById(R.id.ll_find);
		ll_contact = (LinearLayout) this.findViewById(R.id.ll_contact);
		
		txvChat = (TextView) this.findViewById(R.id.txv_chat);
		txvFind = (TextView) this.findViewById(R.id.txv_find);
		txvContact = (TextView) this.findViewById(R.id.txv_contact);
		
		ll_chat.setOnClickListener(this);
		ll_find.setOnClickListener(this);
		ll_contact.setOnClickListener(this);
		
		tabLine = (ImageView) this.findViewById(R.id.tabLine);
		Display defaultDisplay = this.getWindowManager().getDefaultDisplay();
		DisplayMetrics outMetrics = new DisplayMetrics();
		defaultDisplay.getMetrics(outMetrics);
		screenSize1_3 = outMetrics.widthPixels / 3;
		LayoutParams layoutParams = tabLine.getLayoutParams();
		layoutParams.width = screenSize1_3;
		tabLine.setLayoutParams(layoutParams);		
		
		viewPager = (ViewPager) this.findViewById(R.id.viewPager);
		listViews = new ArrayList<Fragment>();
		listViews.add(new ChatFragment());
		listViews.add(new FindFragment());
		listViews.add(new ContactFragment());
		
		viewPager.setAdapter(new MyAdapter(getSupportFragmentManager() ));
		
		viewPager.setOnPageChangeListener(new OnPageChangeListener() {
			
			@Override
			public void onPageSelected(int arg0) {
				Log.e(TAG, "onPageSeleted()" );
				Log.e(TAG, "arg0-->"+arg0);
			}
			
			@Override
			public void onPageScrolled(int arg0, float arg1, int arg2) {
				Log.e(TAG, "onPageScrolled()");
				Log.e(TAG, "arg0-->"+arg0);
				Log.e(TAG, "arg1-->"+arg1);
				Log.e(TAG, "arg2-->"+arg2);
				
				LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) tabLine.getLayoutParams();
				int left = (int) (arg0*screenSize1_3 + arg1*screenSize1_3);
				lp.setMargins(left, 0, 0, 0);
				tabLine.setLayoutParams(lp);
				
				//设置显示当前页文字颜色
				reSetCurrentPgColor(arg0 );
				
			}
			
			private void reSetCurrentPgColor(int arg0) {
				txvChat.setTextColor(Color.BLACK);
				txvFind.setTextColor(Color.BLACK);
				txvContact.setTextColor(Color.BLACK);
				switch (arg0 ) {
				case 0:
					txvChat.setTextColor(Color.parseColor("#76B34D"));	//深绿色
					break;
				case 1:
					txvFind.setTextColor(Color.parseColor("#76B34D"));
					break;
				case 2:
					txvContact.setTextColor(Color.parseColor("#76B34D"));
					break;
				default:
					break;
				}
			}

			@Override
			public void onPageScrollStateChanged(int arg0) {
				Log.e(TAG, "onPageScrollStateChanged()");
				Log.e(TAG, "arg0-->"+arg0);
			}
		});
	}

	private class MyAdapter extends FragmentPagerAdapter {


		public MyAdapter(FragmentManager fm) {
			super(fm);
			// TODO Auto-generated constructor stub
		}

		@Override
		public android.support.v4.app.Fragment getItem(int arg0) {
			return listViews.get(arg0);
		}

		@Override
		public int getCount() {
			return listViews.size();
		}
		
	}

	@Override
	public void onClick(View v) {
		switch(v.getId()) {
		case R.id.ll_chat:
			scrollPage(0);
			break;
		case R.id.ll_find:
			scrollPage(1);
			break;
		case R.id.ll_contact:
			scrollPage(2);
			break;
		default:
			break;
		}
	}
	
	private void scrollPage(int position ) {
		viewPager.setCurrentItem(position, true);
	}

}

d. 源码:



一个简单的js在html5中实现分享到朋友圈 qq空间 微博 一个接单的js在html5中实现分享到朋友圈 qq空间 微博 欢迎观看此博客 大家好,我是一名大学生,第一次写博客,如果有什么问题,请提出来。谢谢 下面是实现分享到朋友圈 微博的代码 我们在HTML 中写下列代码 <div> <a href="#" class="bds_more" data-cmd="more"></a> <a href="#"... 阅读详情

相关推荐

仿QQ5.0侧滑菜单效果的Android实现方法

在自定义视图动画中,属性动画提供了一种在视图的生命周期之外进行动画处理的可能。这使得开发者可以为视图的属性变化(如颜色、大小等)添加动画效果,而不受视图状态(如可见性)的影响。例如,可以为一个自定义视图的背景颜色添加平滑的渐变动画:这里使用了来实现颜色的平滑过渡。的ofObject方法允许我们传入一个自定义的估值器(Evaluator),使得可以对非数值类型的属性进行动画处理。

weixin_35592186的博客 755

Android模拟手机QQ登录界面和主界面(含源码)

一、主要实现: 手机QQ登录界面的设计 Intent的显式跳转和隐式跳转 EditText点击小图标清除输入框内容 EditText密码输入框中密码可见与不可见的切换 使用Fragment实现底部导航栏切换界面 PopupMenu的简单使用 二、实验环境: Android Studio 3.5.2 SDK版本:API 29 JDK 1.8 三、实现效果: 四、重点源码:...

qq_40907345的博客 2万+

QQ5.0个性化透明主题实现指南

随着个性化需求的增强,用户自定义界面的趋势愈演愈烈。目前市场上,从社交媒体应用到操作系统,都提供了越来越多的个性化选项。这种趋势不仅提升了用户体验,也为软件和应用开发者提供了更多的创新空间,使得产品能够更好地满足不同用户的特定需求。QQ5.0版本中引入了透明主题功能,允许用户根据个人喜好和使用场景调整界面的透明度。这一特性在用户界面设计中是一个重要的创新点,它不仅提供了个性化体验,还增加了应用程序的视觉深度和层次感。

weixin_35706067的博客 510

Android Studio实现简单的QQ应用

本次项目主要包含了QQ消息、联系人和动态三个选项卡界面的切换,其中消息界面设计的很详细,有消息列表和消息内容,在点击消息对话框后,会跳转到聊天界面,还会把联系人姓名传值过来。联系人和动态的界面就是很简单的两张截图,点击底下的TextView实现切换。

振华OPPO的博客世界 1万+

完全指南:打造个性化QQ空间5.0

QQ空间个性皮肤是指用户为其QQ空间主页设置的背景主题,它不仅仅是外观上的改变,更是一种个性的表达方式。皮肤的设计风格和颜色搭配可以体现出用户的兴趣爱好、性格特点以及审美趋向。在QQ空间中嵌入CSS代码是个性化皮肤的关键步骤。用户可以通过以下步骤,在QQ空间的编辑器中嵌入自定义的CSS代码:登录QQ空间,点击“装扮空间”。在编辑器界面中选择“自定义装扮”选项。在编辑器中找到代码编辑区域,通常是“自定义HTML”。将准备好的CSS代码复制并粘贴到该区域。

weixin_35391606的博客 1303

仿QQ主界面分组菜单的C#窗体源代码

仿QQ主界面分组菜单的C#窗体源代码 仿QQ主界面菜单的C#窗体源代码,虽然没有QQ的精细,但是但帮出了主要思路,至于细节就请细心的编程者慢慢修改完善,它完成了像QQ主窗体上分组菜单一样的功能,另外还有小头像功能。

Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39257409,本文出自【张鸿洋的博客】上一篇博客带大家实现了:Android 自定义控件打造史上最简单的侧滑菜单 ,有兄弟看了以后说,你这滑动菜单过时了呀~QQ5.0的效果还不错~~嗯,的确,上一篇也承诺过,稍微修改上一篇的代码,实现QQ5.0侧滑菜单~~好了,下面就开始为大家展

Hongyang 14万+

GLM-5.2模型自部署实战:如何通过量化与vLLM优化实现远超官方API的推理速度

在大模型应用开发中,模型推理速度是影响用户体验和系统性能的核心指标。其原理在于通过优化计算图、内存管理和并行计算来提升吞吐量与降低延迟。技术价值体现在能够为高并发、低延迟的实时应用提供稳定高效的AI服务能力,广泛应用于智能客服、代码生成、内容创作等场景。其中,模型量化通过降低权重精度(如INT4/INT8)来大幅减少显存占用和计算量,而推理引擎(如vLLM)则通过连续批处理和PagedAttention等技术最大化硬件利用率。本文聚焦于GLM-5.2模型,详细阐述如何通过量化技术与vLLM推理引擎的深度优化

weixin_29032337的博客 319

android版手机qq 5.0,手机QQ5.0安卓版今日正式发布 手机QQ5.0更新升级内容介绍

今日,手机QQ5.0安卓版正式发布,相较之前的版本,这个版本对整体界面结构和视觉风格做了重大调整,变得更加简洁,聚焦社交沟通。下面就详情一起来看看了解一下吧手机QQ 5.0采用蓝色主界面,个人头像从方形改为圆形,主界面从四栏减少为三栏。新版功能上继续加强音视频能力,可实现多人视频;同时还上线我的营业厅(已支持部分地区),增加传图中途取消操作等新功能。全新界面,产品体验更轻简5.0版本采用冰川蓝主题...

weixin_39626613的博客 1208

告别色差!用Python+TCS34725颜色传感器实现精准色彩还原(附完整校准代码)

本文详细介绍了如何利用Python和TCS34725颜色传感器实现专业级色彩还原方案。通过双阶校准法(白光校准和黑电平校准)和进阶的光照自适应技术,解决传感器原始数据不准的问题,并提供完整的校准代码和实战案例,帮助开发者实现ΔE<3的高精度色彩识别。

weixin_30836759的博客 209

RK3588上跑通Zipformer语音识别的3个坑与填坑实录(附完整编译命令)

本文详细记录了在RK3588开发板上部署Zipformer语音识别模型时遇到的三个典型问题及其解决方案,包括静态库版本冲突、编译脚本配置错误以及模型转换精度调优。文章提供了完整的编译命令和实战步骤,帮助开发者快速在边缘设备上实现高效的语音识别应用。

l6m7n8的博客 714

android用最简单的方法实现QQ5.0的侧边栏滑动效果

android用最简单的方法实现QQ5.0的侧边栏滑动效果

intbird的专栏 2594

介绍七种常见还危险的病毒(带样本)

简介:能够感染用户计算机bai系统中的.exe、.dll和.html文件,将自身加密以后缀加到目标文件中。样本(源文件):https://wwx.lanzoux.com/iJx4njrpz1c / https://wwx.lanzoui.com/iYRNLwd8ldc。英文名称:Virus.Win32.Viking.A(标准) / Worm.Win32.Fujack.A(标准)英文名称:Net-Worm.Win32.Blaster.A(标准)/ Lovesan.A/ Msblast.A。

2301_78858007的博客 8392

android 使用ViewDragHelper高仿QQ主界面效果

android 使用ViewDragHelper高仿QQ主界面效果

zhouguizhi 950

微信小程序推送微信服务号模板消息

微信小程序中发送微信服务号模板消息,无需用户手动确认订阅,无需绑定开放平台,无需使用UnionId。

qq_20751269的博客 1556

从零开始:用这些公开数据集搞定电力AI项目(含鸟巢、绝缘子、负荷预测等33个实战资源)

本文系统梳理了电力AI领域33个精选公开数据集,涵盖目标检测、负荷预测等关键场景,如鸟巢检测、绝缘子缺陷识别等。通过实战案例解析数据预处理、模型选型及性能优化策略,帮助工程师快速构建端到端解决方案,解决电力AI项目中的数据获取与处理难题。

weixin_42522552的博客 216

android 高仿qq5.0,基于Android实现仿QQ5.0侧滑

本课程将带领大家通过自定义控件实现QQ5.0侧滑菜单,课程将循序渐进,首先实现最普通的侧滑菜单,然后引入属性动画与拖动菜单效果相结合,最终实现QQ5.0侧滑菜单效果。通过本课程大家会对侧滑菜单有更深层次的了解,通过自定义控件和属性动画打造千变万化的侧滑菜单效果效果图如下所示:package com.example;import android.os.Bundle;import android.su...

weixin_39939530的博客 329

ESP32S3接入讯飞在线语音识别教程及配套源代码

本文介绍了如何使用ESP32-S3开发板实现讯飞在线语音识别功能。首先,需要准备硬件设备,包括ESP32-S3开发板、麦克风模块、MicroSD卡模块和扬声器模块。接着,安装Arduino IDE并配置ESP32-S3开发环境,注册讯飞开放平台账号并获取API凭证。然后,通过I2S接口连接麦克风模块,并编写代码实现语音录制、Base64编码、API请求和识别结果处理。代码包括初始化WiFi、麦克风、系统时间,以及录制语音、发送请求、解析响应等功能。最后,通过按键触发录音,并将识别结果输出到串口。

2401_88800025的博客 746

Android实现仿QQ5.0的侧滑效果

前段时间准备学习下侧滑效果的实现,不经意间发现了穆课网有个介绍QQ5.0侧滑的视频,于是学习了下,稍作整理,留作自用。 首先看一下效果,第一张就是截的QQ的图模拟内容界面,第二张为向左侧滑时的效果。

4740

爬虫反爬:一文掌握 BotBrowser 的原理和使用(能绕过很多验证码的指纹浏览器)

BotBrowser是使用经过修改的Chromium内核(修改Chromium的C++源代码)的隐形浏览器,可靠地绕过Cloudflare、Shape、PerimeterX、Datadome、Akamai、Kasada、hCaptcha和reCAPTCHA。BotBrowser是一个跨平台的自动化工具,它重新定义了web自动化。专为爬虫、RPA(机器人流程自动化)和 Web 测试设计。与 Puppeteer/Selenium 不同,它通过无头模式(Headless)和API 级控制。

数据知道的博客 1万+

深度学习工具包 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")

ThinkPHP5.0+PHPMailer 实现qq邮箱验证码

一、QQ邮箱开启SMTP 1.登录qq邮箱后,点击“设置=>账户“ 2.开启SMTP,生成授权码,并将授权码复制下来,代码中需要使用到 二、GitHub下载PHPMailer 库 三、接下来就是tp5.0代码实现啦 1.拷贝下载下来的src文件,放入项目中的extend文件夹中,并且重命名为phpmailer,修改SMTP.php.PHPMailer.php的命名空间...

1 1866

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

仿QQ5.0缩放式侧滑栏的实现

有人跟我说,QQ5.0的侧滑栏动画很有趣。

Sogoe的博客 710

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android版手机qq 5.0,界面精简功能更强 手机QQ5.0安卓版发布

手机QQ5.0安卓版昨天正式发布。与之前的版本相比,新版本界面更加简洁,更注重社交功能。手机QQ5.0更新特性(图片来自于应用宝)手机QQ5.0更新特性(图片来自于应用宝)手机QQ5.0将个人头像从方形改为圆形,主界面从四栏减少为三栏。消息一览中包括了与QQ好友、群、讨论组的记录;联系人一栏中包括了用户好友分组和群信息,生活服务信息也集成在这里方便查询;动态一栏是通过QQ关系链所构建成的社交...

weixin_39583655的博客 1502

android 高仿qq5.0,Android基于ViewDragHelper仿QQ5.0侧滑界面效果

QQ5.0侧滑效果实现方案有很多方式,今天我们使用ViewDragHelper来实现一下。先上效果图:①自定义控件SlidingMenu继承FrameLayout,放在FrameLayout上面的布局一层叠着者一层,通过getChildAt()可以很方便的获取到任意一层,进而控制此布局的变化。public class SlidingMenu extends FrameLayout {private...

weixin_39712611的博客 173

基于pyqt5实现QQ截图功能

目录 前言 实现 前言 最近闲来无事研究了下pyqt5的框架,实现了基于tesseract识图,想在tesseract识图功能中添加个屏幕识图的功能类似于QQ截图,然后将截图自动识字,。 先不多说看看效果图: 主界面图: 截图界面图: 识图结果图: 实现 实现原理其实也挺简单的,借助于qt5的QWidget,重写控件的绘图方法,并且加上些鼠标按钮事件,下面写下主要功...

zwyact的专栏 2848
上一篇: 侧滑菜单学习
下一篇: Java反射学习
xiongmaozhijin
博客等级 码龄15年 4粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值