您的位置:首页 > 移动开发 > Android开发

Android学习笔记(二)——简单的控件和基本响应:键位事件的响应

2014-12-12 21:17 344 查看
常用的接口:

final int getAction () // 获得按键的动作
final int getFlags () //获得标志
final int getKeyCode () // 获得按键码
final int getRepeatCount () // 获得重复的信息
final int getScanCode () // 获得扫描码


通过keyEvent接口可以获得按键的相关信息

java主程序:

package com.shine.night;

import android.app.Activity;
import android.content.ContentProvider;
import android.graphics.*;

import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.ImageView;

public class MainActivity extends Activity
{
    private ImageView image;
    private TextView text;
    private int alph_value;
    
    protected void onCreate ( Bundle b )
    {
        super.onCreate ( b );
        setContentView ( R.layout.main );
        image = ( ImageView ) findViewById ( R.id.image );
        text = ( TextView ) findViewById ( R.id.text );
        alph_value = 100;
        image.setAlpha ( alph_value );
        text.setText ( "Alpha = " + alph_value *100/0xff + "%" );
    }
    
    public boolean onKeyDown ( int keyCode ,  KeyEvent msg )
    {
        switch ( keyCode )
        {
            case KeyEvent.KEYCODE_DPAD_UP:
            case KeyEvent.KEYCODE_DPAD_RIGHT:
                alph_value += 20;
                break;
            case KeyEvent.KEYCODE_DPAD_DOWN:
            case KeyEvent.KEYCODE_DPAD_LEFT:
                alph_value -= 20;
            default:
                break;
        }
        if ( alph_value >=0xFF ) alph_value = 0xFF;
        if ( alph_value <= 0x0 ) alph_value = 0x0;
        image.setAlpha ( alph_value );
        text.setText ( "Alpha = " + alph_value *100/0xff + "%" );
        return super.onKeyDown ( keyCode , msg );
    }
    
}

xml布局文件:
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
        android:id="@+id/text"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_gravity="center"
    />
    <ImageView android:id="@+id/image"
        android:src="@drawable/ic_launcher"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
     />
</LinearLayout>



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐