十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
第一种点击事件
成都创新互联公司从2013年开始,先为轵城等服务建站,轵城等地企业,进行企业商务咨询服务。为轵城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
在xml中设置onclick属性
android:onClick="myOnclick"
第二种;获取Button然后一个一个单独绑定点击事件
"
xmlns:tools=" "
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/btn_imgBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="myOnclick"
android:text="imageButton"
/
android:id="@+id/btn_imgView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="myOnclick"
android:text="imageView"
/
public class MainActivity extends ActionBarActivity {
private Button btnImageBtn;
private Button btnImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnImageBtn = (Button) findViewById(R.id.btn_imgBtn);
btnImageView = (Button) findViewById(R.id.btn_imgView);
btnImageBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "点击ImageButton", Toast.LENGTH_SHORT).show();
}
});
btnImageView.setOnClickListener(new MyListener());
}
第三种:写一个类(MyListener)实现OnClickListener接口,然后Button在设置onclickListener的时候new一个MyListener
btnImageView.setOnClickListener(new MyListener());
class MyListener implements OnClickListener{
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_imgBtn:
Toast.makeText(MainActivity.this, "点击ImageButton", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_imgView:
Toast.makeText(MainActivity.this, "点击imageView", Toast.LENGTH_SHORT).show();
break;
}
第四种:整个类(MianActivity)实现onclickListener的接口
跳转界面
Intent:意图,用于访问android中的组件
用Intent跳转界面(activity)
第一步:new一个Intent()
Intent intent1 = new Intent(MainActivity.this,ImageButtonActivity.class);
startActivity(intent1);
public void myOnclick(View view){
switch (view.getId()) {
case R.id.btn_imgBtn:
Intent intent1 = new Intent(MainActivity.this,ImageButtonActivity.class);
startActivity(intent1);
break;
case R.id.btn_imgView:
Intent intent2 = new Intent(MainActivity.this,ImageViewActivity.class);
startActivity(intent2);
break;
Intent intent = new Intent(当前的activity,跳转到的acticvity.class);
startActivity(intent);
3.ImageView
展示方式:scaleType:
4.ImageButton:
触摸事件:当控件或者屏幕呗触摸的时候,产生的反应
public boolean onTouchEvent(MotionEvent event) {
}
imageButton:现在已经呗button代替,用于展示图片的按钮。不能显示文字。
imageView
scaleType:图片展示的方式
fitStart:展示在控件的上方
fitCenter:展示在控件的中间
fitEnd;展示在控件的下方
fitXY:不按照比例拉伸
matrix:矩阵模式
matrix可以设置图片旋转,缩放。移动
获取图片的高度和宽度
int h = imgView.getDrawable().getIntrinsicHeight();
int w = imgView.getDrawable().getIntrinsicWidth();
Matrix m = new Matrix();
m.postRotate(45);
m.postRotate(45, w/2, h/2);
imgView.setImageMatrix(m);
移动事件:
按下:MotionEvent.ACTION_DOWN
抬起:MotionEvent.ACTION_UP
移动:MotionEvent.ACTION_MOVE
获取当前的移动事件,
event.getAction()
"
xmlns:tools=" "
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/img_01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/ss"
android:scaleType="fitXY"/
android:id="@+id/img_02"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/gl"
android:visibility="gone"
android:scaleType="fitXY"/
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bird"
android:layout_gravity="center"
/
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#ff0000"
android:gravity="center"
android:text="小鸟飞"/
public class MainActivity extends Activity {
private ImageView img01;
private ImageView img02;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img01 = (ImageView) findViewById(R.id.img_01);
img02 = (ImageView) findViewById(R.id.img_02);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//System.out.println("被摸了");
if(event.getAction()==MotionEvent.ACTION_UP){
Log.v("TAG", "被抬起来");
if(img01.getVisibility()==View.VISIBLE){
img01.setVisibility(View.GONE);
img02.setVisibility(View.VISIBLE);
}else{
img01.setVisibility(View.VISIBLE);
img02.setVisibility(View.GONE);
}
}else if(event.getAction()==MotionEvent.ACTION_DOWN){
Log.v("TAG", "被按下了");
}else if(event.getAction()==MotionEvent.ACTION_MOVE){
Log.v("TAG", "移动了");
}
return super.onTouchEvent(event);
}
绑定android点击事件需要在该空间添加android:onClick="click"属性(click是为事件的方法),具体操作步骤如下:
1、使用Android studio创建一个Android项目,如下图:
2、打开其XML布局文件,如下图:
3、添加一个Button并给android:onClick="click"属性和宽高属性,如下图:
4、在绑定了该XML布局的类中实现该方法,这个方法命名必须和click,这个方法就是该控件的点击事件,如下图:
安卓系统手机的优势:
一是便宜,由于安卓是开源的操作系统,厂商可以不必将更多的心思花在系统构建上。
二是软件选择更自由,对于大部分日常应用软件,都有安卓版本以及iOS版,对于一些小众或者公司内部自己开发的软件,安卓手机更容易安装,而iOS系统有着较高的审核机制,对于外来应用的支持度非常低。
三是功能自由,开源的目的就是让人们进行自由的选择,在多年前安卓手机可以自定义铃声、电话录音、双卡双待等比较实用的功能,iOS最近才增加了部分功能。
四是硬件选择性更多,目前国内主流的安卓手机厂商有华为、OPPO、VIVO、小米,每个品牌手机都有各自的特点,用户可以根据自身优势进行选择。
安卓系统手机的缺点:
一是安全性较差,由于系统开源,任何人都能对其进行更改,因此很容易受到用心不良的人利用,很多手机软件也是随意开通各种手机权限,像是录音、录像、获取电话本及相册信息。
二是手机软件质量不一,由于手机型号众多,版本众多,很多软件并不能很好的适配,因此就会出现显示不正常的软件。当然主流的软件基本都没问题。
三是流畅性,最近几年安卓手机的流畅性有了很大提升,之前即便是旗舰机,用个一两年都会有卡顿的现象,尤其是升级系统后。
个人博客: haichenyi.com 。感谢关注
本篇介绍实现模拟点击的两种方式:
举个栗子:我们现在需要实现点击A按钮,触发B按钮点击事件的效果:两个按钮在布局里面随便创建就好了。
第一种方式就是:调用performClick事件
这种方式很简单,但是有一个弊端,就是不会传递触摸点坐标,只是模拟一下btn2的点击事件。
第二种方式就是:MotionEvent事件
这种方式比较麻烦,用到的就是view的事件分发,一个简单的点击事件的触发就是down和up组成,当然还有平移我们这里不考虑。
第一步 ,先用MotionEvent.obtain创建两个事件:一个down事件,一个up事件,创建的时候需要传递坐标点,传你目标view的范围内的坐标就行。
第二步 ,通过目标view,也就是这里的btn2去把这两个事件分发出去,通过dispatchTouchEvent分发,这样就完成了一次模拟点击事件,分发完记得回收
这样,就完成了一次模拟点击,并且坐标也传递了。因为,创建这两个事件的时候就传递了。解决了performClick的弊端。