Android中點(diǎn)擊事件功能實(shí)現(xiàn)示例

第一種點(diǎn)擊事件

在xml中設(shè)置onclick屬性

?android:onClick="myOnclick"

第二種;獲取Button然后一個(gè)一個(gè)單獨(dú)綁定點(diǎn)擊事件

http://schemas.android.com/apk/res/android"

????xmlns:tools="http://schemas.android.com/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, "點(diǎn)擊ImageButton", Toast.LENGTH_SHORT).show();

? ?}

? });

? ? ? ? btnImageView.setOnClickListener(new MyListener());

? ? }

第三種:寫一個(gè)類(MyListener)實(shí)現(xiàn)OnClickListener接口,然后Button在設(shè)置onclickListener的時(shí)候new一個(gè)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, "點(diǎn)擊ImageButton", Toast.LENGTH_SHORT).show();

? ? break;

? ? ? ? ?case R.id.btn_imgView:

? ? ? ? ? Toast.makeText(MainActivity.this, "點(diǎn)擊imageView", Toast.LENGTH_SHORT).show();

? ? break;

? ?}?

第四種:整個(gè)類(MianActivity)實(shí)現(xiàn)onclickListener的接口

跳轉(zhuǎn)界面

Intent:意圖,用于訪問android中的組件

用Intent跳轉(zhuǎn)界面(activity)

第一步:new一個(gè)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(當(dāng)前的activity,跳轉(zhuǎn)到的acticvity.class);

startActivity(intent);

3.ImageView

展示方式:scaleType:

4.ImageButton:

觸摸事件:當(dāng)控件或者屏幕唄觸摸的時(shí)候,產(chǎn)生的反應(yīng)

public boolean onTouchEvent(MotionEvent event) {

imageButton:現(xiàn)在已經(jīng)唄button代替,用于展示圖片的按鈕。不能顯示文字。

imageView

scaleType:圖片展示的方式

?fitStart:展示在控件的上方

?fitCenter:展示在控件的中間

?fitEnd;展示在控件的下方

?fitXY:不按照比例拉伸

?matrix:矩陣模式

matrix可以設(shè)置圖片旋轉(zhuǎn),縮放。移動(dòng)

獲取圖片的高度和寬度

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);

移動(dòng)事件:

按下:MotionEvent.ACTION_DOWN

抬起:MotionEvent.ACTION_UP

移動(dòng):MotionEvent.ACTION_MOVE

獲取當(dāng)前的移動(dòng)事件,

event.getAction()

http://schemas.android.com/apk/res/android"

????xmlns:tools="http://schemas.android.com/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", "移動(dòng)了");

? }


? return super.onTouchEvent(event);

?}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容