Android开发中view状态变化样式篇

Kotlin 27. Kotlin 如何改变文字或按钮背景颜色以及相关动画效果 我们可能会遇到这样一类问题,当某一条件被触发后,文字或按钮背景颜色发生变化,行程类似报警的效果。这里介绍一种方式,适用于改变文字或按钮的背景颜色,并可以按照要求进行循环播放。 阅读详情

1 首先是 定义 item的 selector     \drawable\listview_item_pressed.xml

[html]  view plain copy print ?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
  3.     <item  
  4.         android:state_pressed="true"  
  5.         android:drawable="@drawable/listview_item_selected_bg" />  
  6.     <item  
  7.         android:state_pressed="false"  
  8.         android:drawable="@drawable/listview_unseleceted" />  
  9. </selector>  

 

2 把selector 添加入 item ,这里采用的是 添加进 item 采用的布局文件中

[html]  view plain copy print ?
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:layout_width="fill_parent"  
  3.     android:background="@drawable/listview_item_pressed"  
  4.     android:orientation="horizontal"  
  5.     android:layout_height="56dp">...  


3 在 适配器中 getView 方法里 添加 点击事件,也可以在 listView 中的 onItemClick()方法中处理

  

[java]  view plain copy print ?
  1. convertView.setTag(position);  
  2.    convertView.setOnClickListener(new View.OnClickListener() {  
  3.          
  4.        @Override  
  5.        public void onClick(View v) {  
  6.            // TODO Auto-generated method stub  
  7.            if(oldView == null){  
  8.                //第一次点击   
  9.                oldView = v;  
  10.                v.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.listview_item_selected_bg));  
  11.            }else{  
  12.                //非第一次点击   
  13.                //把上一次点击的 变化  
  14.                oldView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.list_pressed));                     
  15.            v.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.listview_item_selected_bg));       
  16.                //保存oldView          
  17.              oldView = v;  
  18.            }  
  19.              
  20.        }  
  21.    });  
  22.      
  23.    if(oldView != null && (position == (Integer)oldView.getTag())){// 为点击 item  
  24.        convertView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.listview_item_selected_bg));  
  25.    }else{  
  26.       convertView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.list_pressed));      
  27.     }  

============================

UI设计中,按钮一般都会有多个状态,比如:聚焦、点击等,不同的状态必须显示不同的呈现形式(比如颜色、形状的改变),这样用户才能感觉到按钮被成功选中、点击了,否则用户体验就会非常差了。


本篇文章就简单地描述一下Android开发中,如何动态改变Button状态切换时的背景。


Android的UI设计中,默认情况下,系统会为Button的点击实现一个默认的背景切换。


例如下面这样的一个Button:


1
2
3
< Button
     android:layout_width = "wrap_content"
     android:layout_height = "wrap_content"  />


用户在点击Button的时候,会有一个蓝色外框显示出来,表明Button被点击了。如图所示:




但是,如果想为Button添加自定义的图片背景,如:


1
android:background="@drawable/upload"


那么,当你点击Button的时候会发现,Button啥反应都没有,在用户点击的时候Button的背景没有任何变化,用户无法知道到底点击成功了没有,所以,这不是一个好的用户体验。


当然,这种情况可以考虑使用ImageButton,如:


1
2
3
4
< ImageButton
         android:layout_width = "wrap_content"
         android:layout_height = "wrap_content"
         android:src = "@drawable/upload" />


ImageButton会将src所指的图片缩小放入Button的方框内中央显示,Button点击前后的显示效果如图所示:


上面是采用系统默认的Button点击效果,那么,如果期望自己定义Button的点击效果,该如何实现呢?下面,我将介绍两种在Button被点击时改变背景的方式,一种是采用多张背景图片切换的方式,另一种是采用shape来定义Button状态切换的背景显示。


1.  多张背景图片切换


首先,为Button准备两张背景图片,一张是Button未点击时显示的图片,另一张是Button被点击时显示的图片,如图所示:



然后,在工程的res/drawable目录下创建一个 xml 文件,这里命名为:button_selector.xml


内容如下:


1
2
3
4
5
6
7
8
9
<? xml  version = "1.0"  encoding = "utf-8" ?>
< selector  xmlns:android = "http://schemas.android.com/apk/res/android" >
     < item  
         android:state_pressed = "true"
         android:drawable = "@drawable/up_pressed" />
     < item 
         android:state_pressed = "false"
         android:drawable = "@drawable/up" />
</ selector >


说明:这里的selector标签就相当与Button状态的选择器,每一个item子项代表着Button的一种状态,这里我只选取了两种状态做示例,一种是Button被点击,另一种是Button未被点击。全部的Button状态可以参考Google Android Development相关网页:StateListDrawable


然后,在Button的标签中,把 background 属性的值改为 button_selector 即可:


1
android:background="@drawable/button_selector"


可以运行程序试试,当点击Button后,是不是Button的背景从左图变化成为右图了?


这种方法是比较直观简单的方法,在实际的工程中也大量使用,但也有一个缺陷,必须为所有的Button准备多张背景图片,为每一个状态准备一张,加大了UI设计的工作量,也加大了程序的大小。


2. 通过shape来自定义Button的UI显示


首先,定义两个xml文件,分别为shape_normal.xml ,shape_pressed.xml


文件中,定义shape的属性,shape的原理参考Google Android官方文档:


(1)shape_normal.xml


1
2
3
4
5
6
7
8
<? xml  version = "1.0"  encoding = "utf-8" ?>
< shape  xmlns:android = "http://schemas.android.com/apk/res/android"
     android:shape = "rectangle" >
     < gradient
         android:startColor = "#808080"
         android:endColor = "#808080"
         android:angle = "-90" />
</ shape >


(2) shape_pressed.xml


1
2
3
4
5
6
7
8
<? xml  version = "1.0"  encoding = "utf-8" ?>
< shape  xmlns:android = "http://schemas.android.com/apk/res/android"
     android:shape = "rectangle" >
     < gradient
         android:startColor = "#FF7F00"
         android:endColor = "#EE7600"
         android:angle = "-90" />
</ shape >


然后,依然定义一个 button_selector.xml文件,只不过该selector的android:drawable所指的内容,由图片改为shape文件。


1
2
3
4
5
6
7
8
9
10
<? xml  version = "1.0"  encoding = "utf-8" ?>
< selector  xmlns:android = "http://schemas.android.com/apk/res/android" >
     < item  
         android:state_pressed = "true"
         android:drawable = "@drawable/shape_pressed" />
     < item 
         android:state_pressed = "false"
         android:drawable = "@drawable/shape_normal" />
                                                                                                                                                          
</ selector >


然后,将所需的Button的background依然指向该selector文件,即可实现自定义Button点击的背景切换效果.


采用这种方式的Button点击前后的效果如图所示:




shape可以定义的内容很丰富,包括圆角的设置,线条的粗细等等,这里不一一演示,可以自己修改后测试效果。


ImageButton也可以采用这种方法来自定义Button点击的背景颜色切换效果,不过要注意为ImageButton添加一个android:padding属性,使得src的图片与Button的边界有一定的距离,这样才能动态改变背景,因为ImageButton能改变的颜色只是src图片以外的背景区域,图片本身的颜色是不会变的。


1
2
3
4
5
6
7
< ImageButton
     android:layout_width = "wrap_content"
     android:layout_height = "wrap_content"
     android:src = "@drawable/upload_pressed"
     android:padding = "5dp"
     android:layout_centerVertical = "true"
     android:background = "@drawable/button_selector" />


效果如图:




Android应用开发笔记(10):制作自定义背景Button按钮、自定义形状Button的全攻略 在Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇里,笔者结合在应用开发中的经验,探讨一下自定义背景的按钮、自定义形状按钮的实现方法。 首先看实现效果截图: 自定义背景的按钮目前有2种方式实现。 1. 矢量图形绘制的方式 矢量图形绘制的方式实现简单,适合对于按钮形状和图案要求不高的场合。步骤如下: (a) 使用x 阅读详情

相关推荐

Android 多状态加载布局的开发 Tips

本文将结合自己的项目开发实践,简单分享一下关于多状态 Layout 的开发实践 Tips。

咕咚的专栏 2637

Android Studio如何改变Button的背景颜色

eg: 方法一:在XML中进行更改 <Button android:id="@+id/B" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="提交按钮2" android:textColor="@color/white" android:textSize="30dp" android:backgroundTin.

qq_51737192的博客 5万+

Android 自定义View实现动态炫酷按钮

普通按钮也就那么几种样式,看着都审美疲劳,先放效果图,演示Demo+源码在最后面 你会不会以为这个按钮是集结了很多动画的产物,我告诉你,并没有。所有的实现都是基于自定义View,采用最底层的onDraw一点一点的画出来的。没有采用一丁点的动画。虽然演示时间很短,但是要完成这么多变化,还是挺吃力。 首先讲解用法: public class MainActivity extend

HyperionChen 3970

Android开发技巧:给Button的点击上色

UI设计中,按钮一般都会有多个状态,比如:聚焦、点击等,不同的状态必须显示不同的呈现形式(比如颜色、形状的改变),这样用户才能感觉到按钮被成功选中、点击了,否则用户体验就会非常差了。本篇文章就简单地描述一下Android开发中,如何动态改变Button状态切换时的背景。Android的UI设计中,默认情况下,系统会为Button的点击实现一个默认的背景切换。例如下面这样的一个Button:&lt;...

weixin_33963189的博客 2668

Android按钮状态与颜色动态变化指南

在Android应用开发中,按钮(Button)是用户交互的基本元素之一。它允许用户通过点击来触发某些操作,比如提交表单或打开新的界面。Button是View类的子类,这使得它继承了所有基本的View特性,如设置文本、图标、大小和颜色等。Selector在Android开发中,状态选择器(Selector)通常通过XML文件来定义,这些文件位于项目的目录下。一个典型的Selector XML文件定义了不同状态下按钮所展现的视觉效果。XML文件的基本构成包括一个根节点<selector>

weixin_31620365的博客 1172

飞腾E2000单板移植openEuler 5.10内核与麒麟系统的实践指南

本文详细介绍了在飞腾E2000单板上移植openEuler 5.10内核并搭配麒麟系统根文件系统的完整实践指南。内容涵盖从编译环境搭建、内核配置裁剪、设备树适配,到根文件系统准备、U-Boot引导配置及启动调试的全流程,旨在帮助开发者打造一个内核版本新、软件生态全的稳定混合系统。

weixin_29309475的博客 256

Android的Button按钮更换其他的背景颜色

Android的Button按钮更换其他的背景颜色

weixin_62064022的博客 3883

间充质干细胞衰老机制与抗衰老干预策略研究

干细胞技术在再生医学领域具有广阔应用前景,其中间充质干细胞(MSCs)因其多向分化潜能和免疫调节特性备受关注。细胞衰老是影响干细胞治疗效果的共性难题,表现为增殖能力下降、端粒缩短等特征。通过表观遗传学分析发现,衰老MSCs存在DNA甲基化异常和组蛋白修饰改变;线粒体功能障碍导致ATP产量锐减,ROS累积显著增加。针对这些机制,研究者开发了包括小分子化合物筛选、CRISPR基因编辑和三维培养优化在内的多种干预策略。这些技术在组织修复、抗衰老治疗等应用场景中展现出重要价值,例如可提升心肌梗死修复效率2.3倍,缩

weixin_33502772的博客 227

Android样式和主题_安卓样式怎么写

ActionBar又称之为操作栏,操作栏是Android 系统在3.0以后的SDK中引入的,操作栏的作用是取代标题栏,操作栏和标题栏一样紧挨在状态栏的下方。目前,所有的Activity均继承自AppCompatActivity,使用的主题也大多是AppCompat的主题。6、设计style样式的目的:在复杂多样式的控件使用和项目应用中,保持统一的格式和展现效果,同时降低维护成本。标题栏位于状态栏的下方,正常情况下标题栏的布局和主题样式都是使用系统定义好的。在使用控件的xml布局文件中,引用样式名称。

omofun5541的博客 1011

实战解析:如何用Python逆向破解FastMoss的TikTok数据加密签名(附完整代码)

本文详细解析了如何用Python逆向破解FastMoss平台的TikTok数据加密签名机制,包括MD5加密算法和JS逆向分析。通过完整的Python代码示例,帮助开发者理解签名生成原理并实现自动化请求,提升数据获取能力。

weixin_30955617的博客 556

FANUC机器人PROFINET通讯方式组态

6 然后对模块进行命名及更改IP地址,点击“Network Detection”,进行扫描,会生成下图,双击商科模块会生成下边的对话框,对模块进行命名及更改IP地址,在“Permanent Name”处点对勾,完成后点击“Apply Name及Apply”进行命名。此处注意,上图左上在线在不了,网络扫描处上面也灰色的,扫描不了。5双击abcc-prt-2-port RT(FW1.13),生成下面图标,在右边点击1、2把原来内容删掉,从新在左侧加载 ,使1、2是输出,3、4为输入,完成后点击OK。

dxs93的博客 8425

Android 样式 —— selector 篇

Android 样式 —— selector 篇Android 样式 —— Shape篇shape标签只能定义一些简单的形状,多用来设置view的背景或颜色,但是不能随着view的状态改变而改变形状或背景,而selector标签可以实线这一功能,他能让view的背景、文字颜色随着view的状态改变而改变。selector标签下,可以添加一个或多个item标签,每个item标签有两个属性:状态、dra

u014630987的博客 961

STM32H7 FOC控制时序优化与PWM中点更新策略

在永磁同步电机(PMSM)的磁场定向控制(FOC)系统中,控制时序精度是决定电流环带宽、观测器收敛性与动态响应能力的基础要素。其核心在于理解PWM生成、ADC采样与控制计算三者之间的硬件级时间耦合关系——尤其在中心对齐模式下,标准更新机制引入的半周期延迟会破坏电压-电流瞬时映射,导致滑模观测器失配与高频相位滞后。通过将PWM更新事件绑定至重复计数器(RCR)清零点,可实现控制指令在开关周期中点生效,使等效电压矢量中心与计算时刻严格对齐。该策略显著提升系统确定性,为20 kHz以上高频电流环提供物理支撑,并广

flink9streamer的博客 857

Android自定义View——基础知识篇

自定义View的实现方式大概可以分为三种,自绘控件、组合控件、以及继承控件。 每一个view的绘制过程都经历三个主要的阶段,测量(measure)、布局(layout)及绘制(draw),在自定义view时,我们主要关注这三个阶段分别对应的onMeasure()、onLayout()及onDraw(). onMeasure(widthMeasureSpec, heightM

走向远方 1605

搭建Java集成开发环境IntelliJ IDEA

package net.huawei.p01.t02;/** * 功能:输出一条信息 * 作者:华卫 * 日期:2022年03月24日 */ public class HelloWorld { public static void main(String[] args) { // arguments System.out.println("Hello Java World~"); } }

qq_67308063的博客 475

CentOS7下Ollama部署全攻略:从安装到自定义端口配置(附国内加速技巧)

本文详细介绍了在CentOS7系统上部署Ollama的完整流程,包括环境准备、模型下载优化、服务化部署及端口配置等关键步骤。特别针对国内网络环境提供了加速安装方案和镜像源配置技巧,帮助开发者快速搭建稳定的本地AI运行环境。

mmm90的博客 287

android dialog 隐藏状态栏_Android样式和主题

1、Style样式可以为View或者窗口指定统一的外观和格式。比如可以指定:宽高尺寸、字体颜色、字号、背景颜色等属性。2、方式:style可以通过在xml资源文件中进行定义,然后在布局文件或者代码中进行引用。3、定义样式:在res/values/目录中创建styles.xml文件,在该xml文件中实现style的定义。<?xml version="1.0" encodeing="utf-8"...

weixin_39785600的博客 504

74、光谱成像在电子内窥镜及色彩理论中的应用

本文探讨了光谱成像在电子内窥镜中的应用及其与色彩理论的深度融合。通过分析FICE技术、色彩再现模型及胃黏膜光谱测量,展示了光谱信息在提升医学诊断准确性方面的潜力。同时,系统阐述了颜色的物理属性、标准表示方法、同色异谱现象、颜色测量技术(密度法与比色法)以及CIELAB等均匀颜色空间的构建原理。结合流程图与对比表格,梳理了从光信号获取到颜色处理的完整路径,并展望了人工智能与新型视觉模型在未来医疗成像与色彩科学中的发展方向。

g2h3i4j5的博客 152

Android实现选中与非选中样式效果(附带源码)

Android实现选中与非选中样式效果(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1252

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android 按钮点击后样式变化

学习笔记3

The_y_的博客 647

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android:安卓开发从小白到高级开发

Android:安卓开发从小白到高级开发

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 4219

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android 显示自定义view,Android 自定义View及View的属性实现Press状态改变

延续前面的随笔,此篇随笔也是在项目中对一个按钮事件处理的总结与思考;在项目中需要用到一个View,在不同状态下{ACTION_DOWN、ACTION_UP},按钮的背景,以及按钮的文字颜色都不一样,最开始想到的是selector,但是在selector虽然可以设置按钮图片背景,但是并没有支持字体颜色,字体大小改变的属性配置。既然没有属性配置,于是我就重写View的onTouchEvent事件,但是...

weixin_31995343的博客 456

android checkbox样式

1. 首先要导入你准备用作CheckBox选中和补选中状态的两图片到res的drawable中,如checkbox_checked.png,checkbox_normal.png; 2. 在res/drawable中添加checkbox.xml,定义checkbox的sta

freestyleboy21的专栏 3201

android设置状态栏背景,Android开发之修改状态栏背景色&设置状态栏背景透明

2.案例使用public class StatusBarColor{//改变状态栏颜色public static void setStatusBarColor(Activity activity,int statusColor){Window window = activity.getWindow();//取消透明状态栏window.clearFlags(WindowManager.LayoutP...

weixin_30436581的博客 908

Android从入门到放弃——二、View(1、view的点击事件和背景)

今天我们要将的主题——View 什么是View 之前我们说Activity就是门面,那么View就是我们家里的家装了。我们所有能够看到的控件都是继承至View。Android提供了大量丰富的控件。 创建View 想要创建View的方法有2种,一种是在布局文件中间通过xml的方式,一种是在代码里面直接创建View对象。 下面我们先来看看第一种 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android

644
上一篇: Augmented Reality on Android: Using GPS and the Accelerometer
下一篇: android PopupWindow实现从底部弹出或滑出选择菜单或窗口
geekcoder
博客等级 码龄14年 78粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值