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的更多相关文章

  1. HTML5小游戏UI美化版

    HTML5小游戏[是男人就下一百层]UI美化版 之前写的小游戏,要么就比较简单,要么就是比较难看,或者人物本身是不会动的. 结合了其它人的经验,研究了一下精灵运动,就写一个简单的小游戏来试一下. 介绍 ...

  2. 基于python+appium+yaml安卓UI自动化测试分享

    结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下.不想看文章得可以直接去Github,欢迎拍砖大致结构如下:   结构.png testyam ...

  3. uiautomator +python 安卓UI自动化尝试

    使用方法基本说明:https://www.cnblogs.com/mliangchen/p/5114149.html,https://blog.csdn.net/Eugene_3972/article ...

  4. C# Winfrom UI 美化

    Winfrom UI 美化 此处只做演示,未进行页面布局.... 1.CSkin:此处只显示一种样式供参考,可继承其他样式——略 2.MetroFramework.Design 3.Ribbon 4. ...

  5. 安卓的一些UI美化框架的使用

    目录 一.前言 二.Android-Bootstrap 三.Sweet Alert Dialog 四.ExplosionField 一.前言 在这里记录一些用到过的觉得还算不错的UI第三方开源美化框架 ...

  6. Pyqt QSS简单的Ui美化

    什么是QSS QSS 是Qt StyleSheet 的简称,意思就是qt的样式表格,StyleSheet 可以像CSS一样的写样式.使页面美化跟代码层分开,利于维护. QSS的语法 同css一样,他也 ...

  7. 解决安卓UI刷新卡屏,只显示最后一处刷新的问题

    ---恢复内容开始--- 错误1 安卓的机制决定了只有UI线程(也就是主线程)才能更新UI界面 否则会导致UI界面混乱的问题 这就说明了在new Thread中直接showImage是会报“出现非主线 ...

  8. python+appium+yaml安卓UI自动化测试分享

    一.实现数据与代码分离,维护成本较低,先看看自动化结构,大体如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务. ...

  9. 谷歌安卓UI自动化测试策略

    中文翻译版: 为了使大家确信"应做单元测试,就一定能做单元测试",谷歌测试工程师Mona El Mahdy专门写了一篇博客,提出了几种执行安卓应用用户界面单元测试的方法.Mahdy ...

随机推荐

  1. Apache Struts ClassLoader操作漏洞

    漏洞版本: Apache Struts 2.x 漏洞描述: CVE ID:CVE-2014-0094 Struts2 是第二代基于Model-View-Controller (MVC)模型的java企 ...

  2. Mac常用目录

    服务存放目录: ~/Library/Services/ Xcode代码片段目录 ~/Library/Developer/Xcode/UserData/CodeSnippets

  3. C#图片处理之: 另存为压缩质量可自己控制的JPEG

    处理图片时常用的过程是:读入图片文件并转化为Bitmap -> 处理此Bitmap的每个点以得到需要的效果 -> 保存新的Bitmap到文件使用C#很方便的就可以把多种格式的图片文件读到B ...

  4. tomcat7 使用log4j进行日志记录

    将 tomcat-juli.jar 文件放置到 $CATALINA_BASE/bin 目录(实际上,该目录下已经有了) 从 log4j 网站下载 jar 包,并放置于 $CATALINA_BASE/l ...

  5. Using the Task Parallel Library (TPL) for Events

    Using the Task Parallel Library (TPL) for Events The parallel tasks library was introduced with the ...

  6. lightoj 1004

    很水的一个dp #include<cstdio> #include<iostream> #include<cstring> #include<algorith ...

  7. js打印的两种方法

    第一种: <!--startprint1-->……打印的内容放在这里…… <!--endprint1--> //打印 function preview(DivID) { ) { ...

  8. curl post请求

    libcurl发送post请求,包括httpheader参数 static size_t getCharCode(void *ptr, size_t size, size_t nmemb, void ...

  9. SVN安装详解

    (一)安装服务器端1. 先安装VisualSVN-Server-2.6.0.msi 2.点击Next SVN服务端已经安装好了 选中Repositores --->选中“新建”---->点 ...

  10. awk学习

    首先分享一个哥们的文章:http://coolshell.cn/articles/9070.html