Android项目-Activity跳转动画、状态选择器、Shape

本文介绍如何在Android应用中实现丰富的UI效果,包括自定义对话框、MD5加密、.9.png图片制作、状态选择器、Activity跳转动画及Shape图形绘制等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android项目-Activity跳转动画、状态选择器、Shape

Point1 (自定义对话框)

一般步骤:

    1.设计对话框的UI界面(布局文件)
    2.使用对话框装载布局文件

范例(以AlerDialog为例):

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
         AlertDialog dialog = builder.create();
        View view = View.inflate(this, R.layout.dialog_input_password, null);
        // dialog.setView(view);// 将自定义的布局文件设置给dialog
        dialog.setView(view, 0, 0, 0, 0);// 设置边距为0,保证在2.x的版本上运行没问题
        dialog.show();

Pinit2(MD5的简单使用)

    public static String encode(String password) {

                MessageDigest instance = MessageDigest.getInstance("MD5");// 获取MD5算法对象
                byte[] digest = instance.digest(password.getBytes());// 对字符串加密,返回字节数组

                StringBuffer sb = new StringBuffer();
                for (byte b : digest) {
                    int i = b & 0xff;// 获取字节的低八位有效值
                    String hexString = Integer.toHexString(i);// 将整数转为16进制
                    if (hexString.length() < 2) {
                        hexString = "0" + hexString;// 如果是1位的话,补0
                    }

                    sb.append(hexString);
                return sb.toString();

        }
- 在线破解MD5的网站: www.cmd5.com

Pinit3 (.9.png图片)

一般我们将图片设置给Android中的布局文件时,图片可能会被拉伸,由于是控件随意拉伸
图片,图片的效果往往不会使我们满意,我们可以使用.9.png格式的图片,来使图片被拉伸时
按照我们的意愿拉伸出漂亮的图片。
我们可以使用SDk自带的软件来制作.9.png文件
软件位置: sdk\tools\draw9patch.bat
使用黑线来限制区域: Ctrl+左键:快速产生黑线 shift+左键:去除黑线
右、下线: 限制文字区域
左、上线: 限制被拉伸区域

Point4(selector)

我们经常会看到,我们在点击一个按钮时,按钮会显示不同的状态(样子),这个效果可以使用选择器来完成。

使用步骤:

1. 在 drawable\目录下,创建选择器xml文件
2. 设置被操作控件,不同情况下的不同状态
3. 引用选择器

范例:

    <!-- 在 drawable\btn_select.xml-->
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <!-- default -->
        <item android:drawable="@drawable/function_greenbutton_normal" ></item>
        <!-- pressed -->    
        <item android:drawable="@drawable/function_greenbutton_pressed" android:state_pressed="true">
        </item>
    </selector>

    <!-- Button控件引用选择器-->
    <Btton
        android:background="@drawable/btn_green_selector" /Btton>


  • Point(TextView的点击事件)

TextView要想添加点击事件应将属性 clickble=”true”

Point5(Activity跳转动画)

一般步骤:

  1. 首先应自定义动画的XML文件 (在 anim\ 下)
  2. Activity跳转时开启动画(覆盖)

范例:

    <!--anim\skip_in.xml -->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:fromXDelta="100%p"
        android:toXDelta="0" >
    </translate>
    <!--anim\skip_out.xml -->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="500"
        android:fromXDelta="0"
        android:toXDelta="-100%p" >   
    </translate>
    - p 表示父容器(屏幕)

    //Activity跳转时开启动画
    overridePendingTransition(R.anim.skip_in, R.anim.skip_out);//进入动画和退出动画

Point6(Shape)

我们可以使用Shape来绘制简单的图形。
在 drawable\下定义自定义图形的XML文件

例如:

    <shape xmlns:android="http://schemas.android.com/apk/res/android" >

        <!-- 角度 -->
        <corners android:radius="5dp" />

        <!-- 渐变   -->
        <gradient
            android:centerColor="#fff"
            android:endColor="#0f0"
            android:startColor="#f00" />
        <!-- 纯色 -->
        <solid android:color="#a000" />

        <!-- 边框 -->   
        <stroke 
            android:width="1dp"
            android:color="#000"
            android:dashWidth="5dp"
            android:dashGap="3dp"
            />
    </shape>

定义完后,在其他地方引用即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值