header-object

Sự kiện trên giao diện

Tạo ứng dụng với các thông tin như sau:


Project Name: GiaoDien2
Build Target: Android 2.3.3
Application Name: GiaoDien2
PackageName: hoangNguyen.AndroidCourse.GiaoDien2
Create Activity: GiaoDien2Activity

Tìm 1 hình ảnh bất kì có phần mở rộng là .jpg hoặc .png. Chép hình ảnh đó vào thư mục res/drawable-mdpi. Trong trường hợp này tôi sẽ sử dụng tập tin có tên oto.jpg.
Về giao diện, chúng ta sẽ sử dụng 1 LinearLayout chứa một ImageView, rồi canh ImageView vào chính giữa của LinearLayout. Viết mã cho tập tin res/layout/main.xml như sau:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#ffffff"
android:gravity="center">

    <ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:src="@drawable/oto"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:background="#ff0000"/>
</LinearLayout>

Khởi chạy ứng dụng trên Emulator, kết quả hiển thị như sau:
Bây giờ, chúng ta sẽ viết mã bắt sự kiện người dùng click vào tấm hình chiếc ôtô. Trong trường hợp này là click vào ImageView có thuộc tính id là imageView1. Việc này thực hiện trong phương thức onCreate của lớp GiaoDien2Activity. Chúng ta sẽ lần lượt thực hiện các thao tác sau.

Tạo một đối tượng thuộc lớp OnClickListener và override phương thức onClick của nó như sau:
Hiểu một cách đơn giản, ở đây chúng ta đang tạo ra một đối tượng nghe ngóng xem nếu người dùng click vào phần tử View v nào đó thì sẽ kích hoạt phương thức onClick(View v). Muốn thực hiện điều gì trên đối tượng bị click này thì chúng ta sẽ can thiệp vào tham số v của phương thức onClick vừa nói. Như đã đề cập, chúng ta sẽ thiết lập để ImageView rộng và cao đúng bằng kích thước màn hình thiết bị.

Chúng ta sẽ override phương thức onClick như sau:


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ImageView iv = (ImageView)v;
LinearLayout ll = (LinearLayout) iv.getParent();

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ll.getWidth(),ll.getHeight());
iv.setLayoutParams(lp);
}

Việc tiếp theo chúng ta sẽ lấy về phần tử ImageView có id là imageView1. Để thực hiện điều này, chúng ta sẽ sử dụng phương thức findViewById như sau:


ImageView iv = (ImageView) findViewById(R.id.imageView1);

Phương thức findViewById sẽ nhận vào tham số là id của phần tử và trả về đối tượng tương ứng.
Sau đó chúng ta sẽ thiết lập đối tượng OnClickListener đã tạo cho đối tượng mà chúng ta đã lấy được như sau:


iv.setOnClickListener(imageClick);

Chạy ứng dụng trên Emulator, click vào hình và kiểm tra kết quả thu được.

2/ Các sự kiện khác

Ngoài Interface đã xét là OnClickListener, lớp View còn cung cấp các Interface khác để chúng ta implement trong trường hợp cần bắt các sự kiện, danh sách các interface này được liệt kê sau

  1. OnCreateContextMenuListener
  2. OnCreateContextMenuListener
  3. OnFocusChangeListener
  4. OnKeyListener
  5. OnLongClickListener
  6. OnTouchListener

Về cách thức xử lý cũng gần tương tự như trên. Các bạn hãy tự thực hiện trong các ứng dụng của mình để hiểu rõ hơn.

Bình luận  

 
0 #85 Candida Chủ nhật-12-17 16:56
I was suggested this web site by way of my cousin. I am not certain whether or not
this put up is written through him as no one else knpw such precise
approximately myy difficulty. You're incredible!
Thank you!

Here is my web site: actros temic repair: https://Electronicrepairegypt.com/mb-pld-repair.html
Trích dẫn
 
 
0 #84 Florrie Thứ 4-12-17 11:21
Conte como evitar a ejaculaçao precoce na adolescência: http://www50.tok2.com/home/masanet/cgi-bin/g_book/g_book.cgi/contact.php ela sobre suas dificuldades.
Trích dẫn
 
 
0 #83 Madonna Thứ 5-11-17 05:40
Entrega de =%3Ca%20href=ht tp://radout.org /blog/320.html% 3Egas%20no%20ja rdim%20roberto% 3C/a%3E]gas no km18: http://jocon.co.kr/?a[ com cozinha: Compre Gás Online.
Trích dẫn
 
 
0 #82 Johnny Chủ nhật-11-17 08:36
We were not, however, introduced to his family.



meu network :: assistir sexo ao vivo - http://holy-triangle.com/2016/06/23/%d9%82%d9%88%d9%85-%d8%b9%d8%a7%d8%af-%d9%87%d9%85-%d8%a8%d9%86%d8%a7%d8%a9-%d8%a7%d9%84%d8%a3%d9%87%d8%b1%d8%a7%d9%85%d8%a7%d8%aa-%d8%a7%d9%84%d9%85%d8%b5%d8%b1%d9%8a%d8%a9-%d9%81%d9%8a-%d8%a7%d9%84: http://holy-triangle.com/2016/06/23/%d9%82%d9%88%d9%85-%d8%b9%d8%a7%d8%af-%d9%87%d9%85-%d8%a8%d9%86%d8%a7%d8%a9-%d8%a7%d9%84%d8%a3%d9%87%d8%b1%d8%a7%d9%85%d8%a7%d8%aa-%d8%a7%d9%84%d9%85%d8%b5%d8%b1%d9%8a%d8%a9-%d9%81%d9%8a-%d8%a7%d9%84/ -
Trích dẫn
 
 
0 #81 Galen thứ 7-11-17 05:10
Botijão - Possuem 13kg de gás de cozinha.

Review my web blog gas em osasco: http://www.0421tc.com/comment/html/?20198.html
Trích dẫn
 
 
0 #80 Lois Thứ 2-10-17 04:59
Anyone can аdvise уou that backlinks are no doubt the disputed heavy weight champion of the SEO worlɗ.
Makе sᥙre tһe title of the main page ϲontains the keyᴡords people wiⅼl be tгying to find inside
engines like google. One in the most powerful marketing techniԛues is сreating content which generates links.


my bⅼog :: backlink for amazon: https://www.fiverr.com/cldisplay_seo/do-seo-your-website-high-rank-first-page-on-google
Trích dẫn
 
 
0 #79 Hortense Thứ 5-10-17 07:22
We stumbled over here from a different website and thought I may as well check
things out. I like what I see so now i'm following you.

Look forward to finding out about your web page again.

my site ... line features: http://bbs.vernee.cc/home.php?mod=space&uid=259847&do=profile
Trích dẫn
 
 
0 #78 Gonzalo Thứ 4-10-17 06:48
I read this paragraph completely on the topic of the resemblance
of newest and preceding technologies, it's remarkable article.


my blog; hair styling
tools: http://tf2.Gudstuffzinc.us/mediawiki/index.php/Infusium_23_Leave_Of_Absence_In_Therapy_For_Frizzy_Hair
Trích dẫn
 
 
0 #77 Normand Thứ 5-10-17 14:14
Hi, after reading this amazing piece of writing i am too cheerful to share my experience here with friends.


Feel free to visit my webpage ... unblocked minesweeper: http://dbestunblockedgames.com/minesweeper/
Trích dẫn
 
 
0 #76 Robt Thứ 5-09-17 17:53
This is my first time pay a quick visit at here and i am
truly happy to read everthing at single place.

my website ... ecu hardware book: https://Www.Electronicrepairegypt.com/ecu-hw-repair-book.html
Trích dẫn
 

Thêm ý kiến


Security code
Làm mới


2

Facebook

Thống kê truy cập

Hiện có 430 khách đang truy cập
2546556