หน้าเว็บ

วันเสาร์ที่ 24 มีนาคม พ.ศ. 2555

การทำ effect click ให้กับปุ่มของ android

        หลายคนคงสงสัยว่าเราจะทำ effect click ให้กับปุ่มของ android ยังไง เพราะเมื่อเราลองเปลี่ยนจาก ปุ่มมาตรฐาน <Button />  ที่มี effect onclick  ให้อยู่แล้ว ไปปรับแต่งเพิ่มเติม  เช่นกันใส่ background ให้กับปุ่มใหม่   effect ที่เคยมีมันก็จะหายไป  ทีนี้ก็นั่งหากันตาเหลือกล่ะครับ  ซึ่งผมเองก็เป็นคนนึงที่เจอกับปัญหานี้  ก็เลยอยากจะเอามาแบ่งปันกันครับ  เผื่อจะได้ไม่ต้องลำบากไปหาทางแก้ให้มันยุ่งยาก  มาเริ่มกันเลยครับ

1. สร้าง ไฟล์ xml ไว้ใน folder layout ตั้งชื่อว่าอะไรก็ได้  ผมขอตั้งชื่อว่า effeck_background_click.xml น่ะครับ


2. แล้วก็พิมพ์โค๊ดลงไปดังนี้ครับ



<?xml version="1.0" endcoding="UTF-8"?>

    <item android:drawable="@color/white_color" android:state_pressed="false"/>
    
    <item android:drawable="@color/medium_gray_color" android:state_pressed="true"/>


ความหมาย
        android:state_pressed="false"  คือ สถานะปกติเวลาที่เราไม่ได้กดปุ่ม  ให้มันเป็นสีขาว  
        android:state_pressed="true"  คือ สถานะที่เรากดปุ่มแล้ว  ให้มันเป็นสีเทาครับ

3. กำหนด background ให้กับ Button  หรือ View อื่นๆที่เราต้องการให้มี effect  ในตัวอย่างนี้ผมขอใช้ ImageView น่ะครับ  ซึ่ง Button เองก็ทำเหมือนกัน  แค่ ใส่ background ให้มัน



4. ในไฟล์ activity  เราก็ต้องเขียน event onClick ให้มันด้วยน่ะครับ  เช่น

ImageView profile_location = (ImageView) findViewById(R.id.profile_location);
profile_location.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
        //
    }
});

แค่นี้เราก็จะได้ effect ปุ่มที่เรากำหนดขึ้นมาเองได้แล้วครับ

เมื่อกดก็จะเป็นสีเทา
เมื่อปล่อยก็จะเป็นสีขาวตามปกติครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น