我想记录按下手机上的音量键,并根据按下两者中的哪一个来增加或减小 textview 字体大小,但我遇到了一个问题,即按钮按下和文本字段的操作并不总是同步发生,即,当我从一个键移动到另一个键时,会发生相反的动作。这就是当按下 + 键时,大小会减小,然后一切都会很好地增加。我想知道怎么去掉?
package com.example.arseny.songbook;
import ...
import static com.example.arseny.songbook.R.id.textView;
public class Activity_Two extends AppCompatActivity {
int count = 22;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
TextView textView = (TextView)findViewById(R.id.textView);
textView.setText("text");
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
TextView textViewr = (TextView)findViewById(R.id.textView);
textViewr.setTextSize(count);
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
if(count<66) {
count = count + 2;
return true;
}
case KeyEvent.KEYCODE_VOLUME_DOWN:
if(count>9) {
count = count - 2;
return true;
}
case KeyEvent.KEYCODE_BACK:
if (android.os.Build.VERSION.SDK_INT
< android.os.Build.VERSION_CODES.ECLAIR
&& event.getRepeatCount() == 0) {
onBackPressed();
}
}
return super.onKeyDown(keyCode, event);
}
提前感谢您的任何活动!
您只需要及时更新字体大小。并且您的计数已更改,并且仅在下次单击时字体才会更改。