zoukankan      html  css  js  c++  java
  • 安卓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……

     

  • 相关阅读:
    剑指 Offer 25. 合并两个排序的链表
    53. 最大子序和 动态规划
    121. 买卖股票的最佳时机
    20. 有效的括号
    centos7 常用操作
    树莓派
    golang 学习笔记
    并发 线程 进程
    连接内网问题
    Lamp 高并发优化
  • 原文地址:https://www.cnblogs.com/fangg/p/5562702.html
Copyright © 2011-2022 走看看