Android学习之按钮的点击、触摸、开关
【摘要】
别忘了,每申请一个活动都需要在AndroidManifest中注册!
点击
app/src/main/java/包名/MainActivity.java
public class MainAct...
别忘了,每申请一个活动都需要在AndroidManifest
中注册!
点击
app/src/main/java/包名/MainActivity.java
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.button11);
button.setOnClickListener(buttonClickListener);
}
private View.OnClickListener buttonClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
//button动作
}
};
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
触摸
需要在先添加相应的样式。
app/src/main/res/drawable/button_up
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="7dp" />
<solid
android:color="@android:color/holo_orange_light" />
<stroke
android:width="1dp"
android:color="@android:color/holo_red_light" />
</shape>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
app/src/main/res/drawable/button_down
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="7dp" />
<solid
android:color="@android:color/holo_orange_dark" />
<stroke
android:width="1dp"
android:color="@android:color/holo_red_light" />
</shape>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
布局文件中引用
app/src/main/res/layout/activity_main.xml
...
android:textColor="@android:color/black"
android:background="@drawable/button_up"
...
- 1
- 2
- 3
- 4
- 5
app/src/main/java/包名/MainActivity.java
/*触摸事件*/
private View.OnTouchListener buttonJumpTouch = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction()==MotionEvent.ACTION_DOWN) {
buttonJump.setBackgroundResource(R.drawable.button_down);
}
if (event.getAction()==MotionEvent.ACTION_UP) {
buttonJump.setBackgroundResource(R.drawable.button_up);
}
return false;
}
};
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
以上的触摸还有一种更好的写法,
- app/src/main/res/drawable
目录需要放置button_up
、button_down
然后呢,只需要再多多放一个button_shape
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/button_down"/>
<item android:state_pressed="false" android:drawable="@drawable/button_up"/>
</selector>
- 1
- 2
- 3
- 4
- 5
然后在对应的控件上,添加属性
android:background="@drawable/button_shape"
- 1
即可!
开关
需要添加图片的话,首先在相应分辨率的文件夹下放置图片。
(关于不同文件夹下的不同分辨率,具体了解戳这里!)
app/src/main/res/drawable-hdpi
添加图片:ledon
、ledoff
`app/src/main/java/包名/MainActivity.java
//设置SWITCH的状态改变事件
switchLamp.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {//切换图片
imageViewLamp.setImageResource(R.drawable.ledon);
}
else {
imageViewLamp.setImageResource(R.drawable.ledoff);
}
}
});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。
原文链接:recclay.blog.csdn.net/article/details/81395196
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)