当前位置:编程学习 > wap >>

怎么调出拨号键盘并且设定它的样式啊

如题!~ --------------------编程问答-------------------- help!~
--------------------编程问答-------------------- gogogo --------------------编程问答-------------------- --------------------编程问答-------------------- import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;

public class Keypad extends Dialog
{

    protected static final String TAG = "Sudoku";
    private final View keys[] = new View[ 9 ];
    private View keypad;
    private final int useds[];
    private final PuzzleView puzzleView;

    public Keypad( Context context, int useds[], PuzzleView puzzleView )
    {
        super( context );
        this.useds = useds;
        this.puzzleView = puzzleView;
    }

    @Override
    protected void onCreate( Bundle savedInstanceState )
    {
        super.onCreate( savedInstanceState );

        setTitle( R.string.keypad_title );
        setContentView( R.layout.keypad );
        findViews();
        for ( int element : useds )
        {
            if ( element != 0 )
            {
                keys[element - 1].setVisibility( View.INVISIBLE );
            }
        }
        setListeners();
    }

    // ...
    @Override
    public boolean onKeyDown( int keyCode, KeyEvent event )
    {
        int tile = 0;
        switch ( keyCode )
        {
            case KeyEvent.KEYCODE_0:
            case KeyEvent.KEYCODE_SPACE:
                tile = 0;
                break;
            case KeyEvent.KEYCODE_1:
                tile = 1;
                break;
            case KeyEvent.KEYCODE_2:
                tile = 2;
                break;
            case KeyEvent.KEYCODE_3:
                tile = 3;
                break;
            case KeyEvent.KEYCODE_4:
                tile = 4;
                break;
            case KeyEvent.KEYCODE_5:
                tile = 5;
                break;
            case KeyEvent.KEYCODE_6:
                tile = 6;
                break;
            case KeyEvent.KEYCODE_7:
                tile = 7;
                break;
            case KeyEvent.KEYCODE_8:
                tile = 8;
                break;
            case KeyEvent.KEYCODE_9:
                tile = 9;
                break;
            default:
                return super.onKeyDown( keyCode, event );
        }
        if ( isValid( tile ) )
        {
            returnResult( tile );
        }
        return true;

    }

    /** Return the chosen tile to the caller */
    private void returnResult( int tile )
    {
        puzzleView.setSelectedTile( tile );
        dismiss();
    }

    private boolean isValid( int tile )
    {
        for ( int t : useds )
        {
            if ( tile == t )
            {
                return false;
            }
        }
        return true;
    }

    private void findViews()
    {
        keypad = findViewById( R.id.keypad );
        keys[0] = findViewById( R.id.keypad_1 );
        keys[1] = findViewById( R.id.keypad_2 );
        keys[2] = findViewById( R.id.keypad_3 );
        keys[3] = findViewById( R.id.keypad_4 );
        keys[4] = findViewById( R.id.keypad_5 );
        keys[5] = findViewById( R.id.keypad_6 );
        keys[6] = findViewById( R.id.keypad_7 );
        keys[7] = findViewById( R.id.keypad_8 );
        keys[8] = findViewById( R.id.keypad_9 );
    }

    private void setListeners()
    {
        for ( int i = 0; i < keys.length; i++ )
        {
            final int t = i + 1;
            keys[i].setOnClickListener( new View.OnClickListener()
            {

                public void onClick( View v )
                {
                    returnResult( t );
                }
            } );
        }
        keypad.setOnClickListener( new View.OnClickListener()
        {

            public void onClick( View v )
            {
                returnResult( 0 );
            }
        } );
    }
} --------------------编程问答-------------------- 我也学习下下
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,