简洁的BP及RBF神经网络代码

Android-自定义Dialog

2014年4月27日 星期天 天气晴朗 心情平静

本篇博文来分享一个也是开发中经常需要用到的功能-自定义对话框,这里我用到了Android中的图形资源shape,具体使用方法,各位看代码吧,Android有多钟图形资源,后面小巫也会总结分享出来,方便各位使用。

我们来看看自定义Dialog的具体步骤吧:

1.修改系统默认的Dialog样式(风格、主题)
2.自定义Dialog布局文件
3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类

源码下载:http://download.csdn.net/detail/wwj_748/7261031

有兴趣的朋友可以加本人创建的群,里面有丰富的学习资源哦:299402133(移动开发狂热者群)

效果图:

具体实现代码如下:

1. 修改样式

/04_CustomDialog/res/values/styles.xml

添加以下代码:

 <!-- 对话框主题 -->
    <style name="DialogTheme" parent="@android:style/Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowNoTitle">true</item>
    </style>

2. 自定义Dialog

package com.wwj.custom.dialog;

import android.app.Dialog;
import android.content.Context;
import android.content.res.Resources;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.Window;
import android.view.WindowManager;

/**
 * 自定义对话框
 *
 * @author wwj
 *
 */
public class CustomDialog extends Dialog {
	private static int default_width = 160; // 默认宽度
	private static int default_height = 120;// 默认高度

	public CustomDialog(Context context) {
		super(context);
	}

	public CustomDialog(Context context, int layout, int style) {
		this(context, default_width, default_height, layout, style);
	}

	public CustomDialog(Context context, int width, int height, int layout,
			int style) {
		super(context, style);
		// 设置内容
		setContentView(layout);
		// 设置窗口属性
		Window window = getWindow();
		WindowManager.LayoutParams params = window.getAttributes();
		// 设置宽度、高度、密度、对齐方式
		float density = getDensity(context);
		params.width = (int) (width * density);
		params.height = (int) (height * density);
		params.gravity = Gravity.CENTER;
		window.setAttributes(params);

	}

	/**
	 * 获取显示密度
	 *
	 * @param context
	 * @return
	 */
	public float getDensity(Context context) {
		Resources res = context.getResources();
		DisplayMetrics dm = res.getDisplayMetrics();
		return dm.density;
	}
}

3. 自定义布局

/04_CustomDialog/res/layout/dialog_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/dialog_bg"
    android:gravity="center"
    android:orientation="vertical" >

    <ProgressBar
        style="@style/DialogTheme"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:text="正在执行..." />

</LinearLayout>

布局文件中用到了一个图像资源:

/04_CustomDialog/res/drawable/dialog_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:radius="10dp" />

    <solid android:color="#55000000" />

</shape>

4. 显示自定义对话框

package com.wwj.custom.dialog;

import android.app.Activity;
import android.os.Bundle;

/**
 * 1.修改系统默认的Dialog样式(风格、主题)
 *
 * 2.自定义Dialog布局文件
 *
 * 3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类
 *
 * @author wwj
 *
 */
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		CustomDialog customDialog = new CustomDialog(this,
				R.layout.dialog_layout, R.style.DialogTheme);
		customDialog.show();
	}

}
时间: 2024-11-13 06:35:34

简洁的BP及RBF神经网络代码的相关文章

RBF神经网络和BP神经网络的关系

作者:李瞬生链接:https://www.zhihu.com/question/44328472/answer/128973724来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. BP Neural Network - 使用 Automatic Differentiation (Backpropagation) 进行导数计算的层级图模型 (layer-by-layer graphical model) 只要模型是一层一层的,并使用AD/BP算法,就能称作 BP Ne

RBF神经网络学习算法及与多层感知器的比较

对于RBF神经网络的原理已经在我的博文<机器学习之径向基神经网络(RBF NN)>中介绍过,这里不再重复.今天要介绍的是常用的RBF神经网络学习算法及RBF神经网络与多层感知器网络的对比. 一.RBF神经网络学习算法 广义的RBF神经网络结构如下图所示: N-M-L结构对应着N维输入,M个数据中心点centers,L个输出. RBF 网络常用学习算法 RBF 网络的设计包括结构设计和参数设计.结构设计主要解决如何确定网络隐节点数的问题.参数设计一般需考虑包括3种参数:各基函数的数据中心和扩展常

stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)

在这篇文章中,会实现一个BP(backpropagation)算法,并将之应用到手写的阿拉伯数字(0-9)的自动识别上. 训练数据集(training set)如下:一共有5000个训练实例(training instance),每个训练实例是一个400维特征的列向量(20*20 pixel image).用 X 矩阵表示整个训练集,则 X 是一个 5000*400 (5000行 400列)的矩阵 另外,还有一个5000*1的列向量 y ,用来标记训练数据集的结果.比如,第一个训练实例对应的输出

RBF神经网络——直接看公式,本质上就是非线性变换后的线性变化(RBF神经网络的思想是将低维空间非线性不可分问题转换成高维空间线性可分问题)

Deeplearning Algorithms tutorial 谷歌的人工智能位于全球前列,在图像识别.语音识别.无人驾驶等技术上都已经落地.而百度实质意义上扛起了国内的人工智能的大旗,覆盖无人驾驶.智能助手.图像识别等许多层面.苹果业已开始全面拥抱机器学习,新产品进军家庭智能音箱并打造工作站级别Mac.另外,腾讯的深度学习平台Mariana已支持了微信语音识别的语音输入法.语音开放平台.长按语音消息转文本等产品,在微信图像识别中开始应用.全球前十大科技公司全部发力人工智能理论研究和应用的实现

最简洁的获取联系人头像的代码

下面代码就是获取到用户通讯录头像的代码: ContentResolver cr = view.getContext().getContentResolver(); Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(contact.contact_id)); InputStream input = ContactsContract.Contacts.openConta

如何在Android App中使用matlab的神经网络代码

整个过程大概可以分成这么几步: 首先你要在matlab中写一个完整的神经网络 获取样本 样本导入 神经网络建模 神经网络训练 神经网络测试(优化建模) 然后你要在matlab中重写一个神经网络,第二个神经网络的特殊之处是 首先这个神经网络必须写成函数,具体有几个细节 把第一个神经网络的训练结果net网络保存成mat文件 把相关需要用的但无法直接写入代码的数据也保存成mat文件(比如数据归一化的参数) 然后在函数中把上面几个mat文件导入,基本上就是一个完整的神经网络模型了 再加上一个神经网络计算

ECG信号读出,检测QRS,P,T 波(小波去噪,并根据检测),基于BP辨识的神经网络

这学期的课程选择神经网络.最后的作业处理ECG信号,并利用神经网络识别. 1  ECG引进和阅读ECG信号 1)ECG介绍  详细ECG背景应用就不介绍了,大家能够參考百度 谷歌.仅仅是简单说下ECG的结构: 一个完整周期的ECG信号有 QRS P T 波组成,不同的人相应不用的波形,同一个人在不同的阶段波形也不同.我们须要依据各个波形的特点,提取出相应的特征,对不同的人进行身份识别. 2)ECG信号读取 首先须要到MIT-BIH数据库中下载ECG信号,具体的下载地址与程序读取内容介绍能够參考一

简洁易行的JS拖拽代码

var x, y var drag_ = false var D = new Function('obj', 'return document.getElementById(obj);') var IE = new Function( '', 'if(navigator.appName.indexOf("Explorer")>=0)return 1;if(navigator.appName.indexOf("Netscape")>=0)return 2'

Python CNN卷积神经网络代码实现

1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Nov 21 17:32:28 2018 4 5 @author: zhen 6 """ 7 8 import tensorflow as tf 9 from tensorflow.examples.tutorials.mnist import input_data 10 11 mnist = input_data.read_data_sets('C