当前位置:  编程技术>移动开发
本页文章导读:
    ▪破波教你做一键清理内存桌面快捷方式动画:图解金山电池医生        立波教你做一键清理内存桌面快捷方式动画:图解金山电池医生大家用户一些一键清理内存的软件,会发现点击桌面上的“快速清理”快捷方式,就会播放一个动画,然后提示你清理了多少.........
    ▪ Java-this关键字        Java--this关键字this主要有三种用法: 1、表示对当前对象的引用!   2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!        这是第一种用法的特.........
    ▪ TextView中设立行间距的方法       TextView中设置行间距的方法TextView行间距:android:lineSpacingExtra="10dp" TextView行间距倍数:android:lineSpacingMultiplier="1.5" String文字换行后想在开头和末尾加空格,可以用“ ”代替 ......

[1]破波教你做一键清理内存桌面快捷方式动画:图解金山电池医生
    来源: 互联网  发布时间: 2014-02-18
立波教你做一键清理内存桌面快捷方式动画:图解金山电池医生

大家用户一些一键清理内存的软件,会发现点击桌面上的“快速清理”快捷方式,就会播放一个动画,然后提示你清理了多少内存和进程,看起来挺酷的,不过这样子最大好处让用户减少了2次不必要的操作:点击执行清理操作,退出软件操作。


我们今天就拿金山电池医生做图解分析:


你用过金山电池医生的话,它会在第一次打开软件的时候,在你手机桌面上流氓地创建一个“快速省电”的快捷方式,如果你想一键清理进程,点它就可以。

起初,我以为这玩意是个widget,但是想想不对,那么搞没必要;当我真的要添加“窗口小部件”的时候,发现了玄机:


你仔细看会发现,快捷方式的图标和播放动画的图片错位了,哈哈,你是不是想说,这不就是骗小孩的把戏吗?

没错,其实就是个障眼法:当用户点击快捷方式的时候,实际上启动了快捷方式指向的activity,只不过这个activity是一个dialog风格,在里面播放一个动画而已,

当执行完清理内存的操作,动画结束,toast结果信息给用户,然后自己finish。


详细的做法如下:

1、现在AndroidManifest.xml里声明一个 activty,也是快捷方式要启动的窗体:

        <activity
            android:name=".onekey.OneKeyActivity"
            android:excludeFromRecents="true"
            android:exported="true" 
            android:icon="@drawable/shortcut_onekey"
            android:label="@string/shortcut_onekey"
            android:taskAffinity="com.souapp.screenlockmanager"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" >

            <intent-filter>
                <action android:name="android.intent.category.MAIN" />
                <action android:name="android.intent.action.CREATE_SHORTCUT" />  
            </intent-filter>
        </activity>

2、你的程序如何创建快捷方式,这里就不写了

3、简单说一下OneKeyActivity

在layout下创建一个布局文件:shortcut_onekey.xml

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >


    <FrameLayout
        android:id="@+id/anim_layout"
        android:layout_width="60.0dip"
        android:layout_height="60.0dip"
        android:background="@drawable/shortcut_onekey_bg"
        android:visibility="invisible" >

        <ImageView
            android:id="@+id/anim_image"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/shortcut_onekey_rotate"
            android:visibility="invisible" />

        <ImageView
            android:id="@+id/cover_image"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/shortcut_onekey_cover"
            android:visibility="visible" />
    </FrameLayout>

</RelativeLayout>


其实这个布局文件就是堆放了几个图片而已


然后动画效果,需要在anim目录下创建shortcut_onekey.xml

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <rotate
        android:duration="1200"
        android:fromDegrees="0.0"
        android:pivotX="50.0%"
        android:pivotY="50.0%"
        android:toDegrees="1440.0" />

</set>

下面是OneKeyActivity的主要代码:

    @Override
    public void onCreate(Bundle bundle)
    {
        super.onCreate(bundle);
  
        Intent intent = getIntent();
        setContentView(R.layout.shortcut_onekey);
        bg = (FrameLayout)findViewById(R.id.anim_layout);
        Rect rect = intent.getSourceBounds();
        if(rect != null)
        {
			//int i = getResources().getDimensionPixelSize(0x7f0b001d);
            int i=20;
        	int j = rect.left + rect.width() / 2;
            int k = i + rect.top;
            android.widget.RelativeLayout.LayoutParams layoutparams = (android.widget.RelativeLayout.LayoutParams)bg.getLayoutParams();
            layoutparams.leftMargin = j - layoutparams.width / 2;
            layoutparams.topMargin = k - layoutparams.height / 2;
            bg.setLayoutParams(layoutparams);
        }
        play(this);
        mHandler.sendEmptyMessageDelayed(1, 1000);
    }
    public static void play(OneKeyActivity onekeyactivity)
    {
        onekeyactivity.bg.setVisibility(0);
        ImageView imageview = (ImageView)onekeyactivity.findViewById(R.id.anim_image);
        imageview.setVisibility(0);
        imageview.startAnimation(AnimationUtils.loadAnimation(onekeyactivity, R.anim.shortcut_onekey));
    }

    
	private Handler mHandler = new Handler() {

		public void handleMessage(Message msg) {

			Toast.makeText(getApplicationContext(), "杀掉N多个进程",
				     Toast.LENGTH_SHORT).show();

			if (1 == msg.what)
				finish(); // 动画播放结束,结束我们的Activity界面
		}
	};

整体而言,是比较简单的;但是这种效果的设计,我觉得不是程序员和美工能想出来的,应该是产品经理这种比较贴近于用户使用角度,提出类似的使用需求来;看来干啥都不容易,特别是做APP不赚钱,还要想方设法改善用户体验,得到用户的使用认可,也只有大公司有这个资源,有闲工夫养着一批人这么玩。



2楼xhl86xhl昨天 16:10顶你个肺1楼a383028663昨天 18:48学习一下

    
[2] Java-this关键字
    来源: 互联网  发布时间: 2014-02-18
Java--this关键字

this主要有三种用法:

1、表示对当前对象的引用!

 

2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!

       这是第一种用法的特例,比较常用。

 

3、用于在构造方法中引用满足指定参数类型的构造器(即构造方法)。

       但是这里必须非常注意:只能引用一个构造方法且必须位于开始!

 

注意:this,super不能用在static方法中!


什么情况下需要用到this:


1、通过this调用另一个构造方法,用法是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。


2、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,

     此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。

     当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this。

 

3、在函数中,需要引用该函所属类的当前对象时候,直接用this。

       
 
专业上的说法:“this是指向对象本身的一个指针”
 
 

    
[3] TextView中设立行间距的方法
    来源: 互联网  发布时间: 2014-02-18
TextView中设置行间距的方法
TextView行间距:android:lineSpacingExtra="10dp"
TextView行间距倍数:android:lineSpacingMultiplier="1.5"
String文字换行后想在开头和末尾加空格,可以用“&#160;”代替

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3