安卓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】1204 糖果大战
题目本身不难.类似于dp.f(i)表示手中现有i颗糖果赢的概率,则下一局赢的概率是p(1-q),下一局输的概率是q(1-p),下一句平手的概率是1-p(1-q)-q(1-p),平手包括两人均答对或答错 ...
- Virtual member call in a constructor
http://stackoverflow.com/questions/119506/virtual-member-call-in-a-constructor (Assuming you're writ ...
- MySQL配置文件-my.ini
下面允许我介绍一下MySQL的my.ini配置文件: my.ini是什么? my.ini是MySQL数据库中使用的配置文件,修改这个文件可以达到更新配置的目的. my.ini存放在哪里? my.ini ...
- breakpoints、lldb 和 chisel 的使用
http://www.cocoachina.com/ios/20150803/12805.html Breakpoints BreakPoint分类 breakpoint也是有分类的,我这里的文章内大 ...
- Android PagerAdapter
本基类是ViewPager提供填充页面内容的适配器(数据与显示内容之间桥梁).通常,人们不是直接使用本基类的,而是使用这个基类的实现:FragmentPagerAdapter 或者Fragment ...
- 基于WebForm+EasyUI的业务管理系统形成之旅 -- 系统设置(Ⅰ)
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 总体介绍>,主要介绍系统总体的界面效果和用户体验UI设计. 在MVC.MVP大行其道的今天,写WebForm该系列篇章, ...
- (转载)JDK中的设计模式
写的很好,学习道路更轻松一些 原文地址:http://blog.csdn.net/gtuu0123/article/details/6114197 JDK中设计模式 分类: Java相关 设计模式 2 ...
- 使用Visual Studio 2013 从头构建Web表单
在这篇文章中,我将采取VS 2013中特定的模板,也就是没有身份验证的Web表单模板,并说明如何构建这个项目从头开始.在本教程的最后,你会最终有一个模板,内容几乎是一样的使用Web表单模板没有认证(文 ...
- HW1.2
public class Solution { public static void main(String[] args) { System.out.println("Welcome to ...
- HDU3695 - Computer Virus on Planet Pandora(AC自动机)
题目大意 给定一个文本串T,然后给定n个模式串,问有多少个模式串在文本串中出现,正反都可以 题解 建立好自动机后.把文本串T正反各匹配一次,刚开始一直TLE...后面找到原因是重复的子串很多以及有模式 ...