客服热线:18391752892

Android onKeyDown与Layout坐标交互顺水鱼财经

核心摘要:view sourceprint?001package irdc.ex05_20;002003import android.app.Activity;004import android.os.Bundle;005import android.util.DisplayMetrics;006import andr
外汇期货股票比特币交易view sourceprint?001package irdc.ex05_20;

002

003import android.app.Activity;

004import android.os.Bundle;

005import android.util.DisplayMetrics;

006import android.view.KeyEvent;

007import android.view.View;

008import android.widget.AbsoluteLayout;

009import android.widget.Button;

010import android.widget.Toast;

011

012public class EX05_20 extends Activity

013{

014 private Button mButton01;

015 private int intWidth, intborder="1" Height, intButtonX, intButtonY;

016

017

018 private int intScreenX, intScreenY;

019

020

021 private int intShift = 2;

022

023

024 @Override

025 public void onCreate(Bundle savedInstanceState)

026 {

027 super.onCreate(savedInstanceState);

028 setContentView(R.layout.main);

029

030 //一般的结构描述信息显示,如它的大小,密度和字体缩放。

031// 要访问DisplayMetrics成员,初始化一个这样的对象:

032 DisplayMetrics dm = new DisplayMetrics();

033 getWindowManager().getDefaultDisplay().getMetrics(dm);

034

035

036 intScreenX = dm.widthPixels;

037 intScreenY = dm.border="1" HeightPixels;

038

039

040 int width = 80;

041 intborder="1"height = 40;

042

043 mButton01 =(Button) findViewById(R.id.myButton1);

044

045

046 RestoreButton();

047

048

049 mButton01.setonClickListener(new Button.onClickListener()

050 {

051 @Override

052 public void onClick(View v)

053 {

054 // TODO Auto-generated method stub

055 RestoreButton();

056 }

057 });

058 }

059

060 @Override

061 public boolean onKeyDown(int keyCode, KeyEvent event)

062 {

063 // TODO Auto-generated method stub

064 switch(keyCode)

065 {

066

067 case KeyEvent.KEYCODE_DPAD_CENTER:

068

069 RestoreButton();

070 break;

071

072 case KeyEvent.KEYCODE_DPAD_UP:

073

074 MoveButtonUp();

075 break;

076

077 case KeyEvent.KEYCODE_DPAD_DOWN:

078

079 MoveButtonDown();

080 break;

081

082 case KeyEvent.KEYCODE_DPAD_LEFT:

083

084 MoveButtonLeft();

085 break;

086

087 case KeyEvent.KEYCODE_DPAD_RIGHT:

088

089 MoveButtonRight();

090 break;

091 }

092 return super.onKeyDown(keyCode, event);

093 }

094

095

096 public void RestoreButton()

097 {

098 intButtonX = ((intScreenX-intWidth)/2);

099 intButtonY = ((intScreenY-intborder="1" Height)/2);

100 mMakeTextToast

101 (

102 "("+

103 Integer.toString(intButtonX)+

104 ","+

105 Integer.toString(intButtonY)+")",true

106 );

107

108

109 mButton01.setLayoutParams

110 (

111 new AbsoluteLayout.LayoutParams

112 (intWidth,intborder="1" Height,intButtonX,intButtonY)

113 );

114 }

115

116

117 public void MoveButtonUp()

118 {

119 intButtonY = intButtonY-intShift;

120

122 {

123 intButtonY = 0;

124 }

125 mButton01.setLayoutParams

126 (

127 new AbsoluteLayout.LayoutParams

128 (intWidth,intborder="1" Height,intButtonX,intButtonY)

129 );

130 }

131

132

133 public void MoveButtonDown()

134 {

135 intButtonY = intButtonY+intShift;

136

138 {

139 intButtonY = intScreenX-intborder="1" Height;

140 }

141 mButton01.setLayoutParams

142 (

143 new AbsoluteLayout.LayoutParams

144 (intWidth,intborder="1" Height,intButtonX,intButtonY)

145 );

146 }

147

148

149 public void MoveButtonLeft()

150 {

151 intButtonX = intButtonX-intShift;

152

154 {

155 intButtonX = 0;

156 }

157 mButton01.setLayoutParams

158 (

159 new AbsoluteLayout.LayoutParams

160 (intWidth,intborder="1" Height,intButtonX,intButtonY)

161 );

162 }

163

164

165 public void MoveButtonRight()

166 {

167 intButtonX = intButtonX+intShift;

168

170 {

171 intButtonX = intScreenX-intWidth;

172 }

173 mButton01.setLayoutParams

174 (

175 new AbsoluteLayout.LayoutParams

176 (intWidth,intborder="1" Height,intButtonX,intButtonY)

177 );

178 }

179

180 //显示信息

181 public void mMakeTextToast(String str, boolean isLong)

182 {

184 {

185 Toast.makeText(EX05_20.this, str, Toast.LENGTH_LONG).show();

186 }

187 else

188 {

189 Toast.makeText(EX05_20.this, str, Toast.LENGTH_SHORT).show();

190 }

191 }

192}
(责任编辑:admin)
下一篇:

4.25黄金多空争夺可双向斩利,周获利4.3万不过尔尔!

上一篇:

微星R6850军规轻松秒杀主流FPS游戏!顺水鱼财经

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们
 
0相关评论