怎么调出拨号键盘并且设定它的样式啊 如题!~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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 ); } } ); }} 调整控件View大小的问题 关于Android蓝牙方面 关于android usb摄像头的连接 android 中如何加入图片 android 怎么播放rtsp://110.80.31.70:6000/channe1 关于MediaProvider的疑惑 请问这样的UI布局怎么切换“局部界面”?谢谢 NDK编译 环境找不到头文件怎么解决 Receiver开机启动service报Host is unresolved错误 手机Android系统有那些优势? 第一次开发Android 出现错误 android报错,求解!
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 );
}
} );
}
}