安卓UI美化_drawable
UI美化
drawable资源
------------------------------------------
state drawable资源
在不同状态下显示不同的图片
在<selector>标签下的item标签设置属性:
android:state_xxx 各种状态(值为true/false) 如果值为false的话,android:state_xxx可以省略
state_pressed 按钮按下的状态
state_checked 单选框/复选框按下的状态
android:drawable 该状态下对应显示的图片
比如:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/star_pressed"></item>
<item android:drawable="@drawable/star_normal"></item>
</selector>
------------------------------------------
shape drawable资源
在<shape>标签下可以添加如下属性:
<padding> 表示内边距 可以设置属性:
android:left
android:top
android:right
android:botom
<solid> 表示填充 可以设置属性:
android:color 填充的颜色
<stroke> 表示描边 可以设置属性:
android:color 描边的颜色
android:width 描边的宽度
<color> 表示圆角 可以设置属性:
android:radius 圆角的半径
<gradient> 表示渐变 可以设置属性:
android:startColor 开始位置的颜色
android:centerColor 中间位置的颜色
android:endColor 结束位置的颜色
------------------------------------------
Activity
Android中的组件(Activity、Service、ContentProvier、BroadcastReceiver)
需要在AndroidManifest.xml注册
当我们需要添加Activity时:
1. 需要添加一个Activity的子类
2. 需要添加一个布局文件,并通过setContentView()显示到Activity上
3. 在AndroidManifest.xml中添加<activity>标签,注册该Activity
通过android:name=".SecondActivity"绑定该Activity
android:name 格式为 "Activity包名.Activity类名"。如果Activity的包名和应用的包名相同,可以简写为".Activity类名"
Eclipse可以通过如下快捷方式快速创建Activity
工程右键 -- New -- Other -- Android -- Android Activity
跳转到另一个Activity
Intent intent = new Intent();// 创建一个Intent 意图
intent.setClass(MainActivity.this, // 第一个参数:上下文
SecondActivity.class); // 第二个参数:要跳转的Activity的Class对象
startActivity(intent);
-------------------------------------------
在Activity之间传递参数
方法1. 通过putExtra()写入不同类型的参数
intent.putExtra("name", "玉东"); // 类型可以为String
intent.putExtra("age", 54); // 可以为int
intent.putExtra("weight", 99.3); // 可以为double
在另一个Activity中提取intent中的参数
Intent intent = getIntent();
// 在Intent中提取参数
String name = intent.getStringExtra("name");
int age = intent.getIntExtra("age", 0); // 当无法提取值时 返回默认的值
double weight = intent.getDoubleExtra("weight", 0.0);
方法2. 通过putExtras()传递Bundle对象 把参数写入Bundle对象中
Bundle bundle = new Bundle();
bundle.putString("name", "思琪");
bundle.putInt("age", 35);
bundle.putDouble("weight", 123.4);
intent.putExtras(bundle);
在另一个Activity中提取intent中的Bundle参数
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
double weight = bundle.getDouble("weight");
方法3. 把参数写入Application全局变量中
创建Application的子类
给每个需要传递的参数设置全局变量,并设置setXxx()和getXxx()方法
在MainActivity中通过getApplication()获得Application对象
再通过setXxx()方法写入参数
在另一个Activity中通过getApplication()获得Application对象
再通过getXxx()方法提取参数
最后不要忘记在AndroidManifest.xml中给<application>添加android:name属性,指向Application类
方法4. To be continued……
安卓UI美化_drawable的更多相关文章
- HTML5小游戏UI美化版
HTML5小游戏[是男人就下一百层]UI美化版 之前写的小游戏,要么就比较简单,要么就是比较难看,或者人物本身是不会动的. 结合了其它人的经验,研究了一下精灵运动,就写一个简单的小游戏来试一下. 介绍 ...
- 基于python+appium+yaml安卓UI自动化测试分享
结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下.不想看文章得可以直接去Github,欢迎拍砖大致结构如下: 结构.png testyam ...
- uiautomator +python 安卓UI自动化尝试
使用方法基本说明:https://www.cnblogs.com/mliangchen/p/5114149.html,https://blog.csdn.net/Eugene_3972/article ...
- C# Winfrom UI 美化
Winfrom UI 美化 此处只做演示,未进行页面布局.... 1.CSkin:此处只显示一种样式供参考,可继承其他样式——略 2.MetroFramework.Design 3.Ribbon 4. ...
- 安卓的一些UI美化框架的使用
目录 一.前言 二.Android-Bootstrap 三.Sweet Alert Dialog 四.ExplosionField 一.前言 在这里记录一些用到过的觉得还算不错的UI第三方开源美化框架 ...
- Pyqt QSS简单的Ui美化
什么是QSS QSS 是Qt StyleSheet 的简称,意思就是qt的样式表格,StyleSheet 可以像CSS一样的写样式.使页面美化跟代码层分开,利于维护. QSS的语法 同css一样,他也 ...
- 解决安卓UI刷新卡屏,只显示最后一处刷新的问题
---恢复内容开始--- 错误1 安卓的机制决定了只有UI线程(也就是主线程)才能更新UI界面 否则会导致UI界面混乱的问题 这就说明了在new Thread中直接showImage是会报“出现非主线 ...
- python+appium+yaml安卓UI自动化测试分享
一.实现数据与代码分离,维护成本较低,先看看自动化结构,大体如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务. ...
- 谷歌安卓UI自动化测试策略
中文翻译版: 为了使大家确信"应做单元测试,就一定能做单元测试",谷歌测试工程师Mona El Mahdy专门写了一篇博客,提出了几种执行安卓应用用户界面单元测试的方法.Mahdy ...
随机推荐
- 【HDOJ】1045 Fire Net
经典深搜.注意满足条件. #include <stdio.h> #include <string.h> #define MAXNUM 5 char map[MAXNUM][MA ...
- windows上制作懒人版MAC cdr/iso
本教程以XPS15 L501X机型为例在windows7下讲解Lion纯净系统的制作及安装过程,以及一些后续美化,如果已有mac系统,就更简单了,照猫画虎即可.主楼的帖子对新手来讲信息量太大,所以关于 ...
- DataGrid能否动态合并一笔订单下面的多个交易
/** * author ____′↘夏悸 * create date 2012-11-5 **/ $.extend($.fn.datagrid.methods, { autoMergeCells : ...
- Orchard中的多语言功能
在Orchard中支持了两种本地化的方法: 1.对Orchard应用程序和模块中的一些文本字符串进行本地化.这个就相当程序本身的多语言支持,大多数的CMS系统都支持这一功能,如:DotNetNuke. ...
- Ubuntu 安装Chrome步骤
一.添加PPA 从Google Linux Repository(http://www.google.com/linuxrepositories/)下载安装Key,或把下面的代码复制进终端,回车,需要 ...
- 基于WebForm+EasyUI的业务管理系统形成之旅 -- 登录窗口(Ⅱ)
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 系统设置>,主要是介绍系统浏览器在线下载安装,这些前期准备是非常重要的. 最近忙于将工程管理系统中各个模块,用业务流程方 ...
- app图片规格
我们定义的app图片规格 app图标需要分iphone和android两套 iphone: 名称 Iphone4 Iphone5 手机尺寸 960*640(高*宽) 1136*640 (高*宽) 电池 ...
- Http get,post,soap协议的区别
转自:http://www.cnblogs.com/c2303191/articles/1107027.html 1.Http作为web服务的首选协议,具有4大优点:1)http非常简单,以纯文本(超 ...
- 配置Memcache服务器并实现主从复制功能(repcached)(转)
1.repcached介绍repcached 是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步 ...
- HW3.8
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...