안드로이드

 

 

class MainActivity

 

package org.androidtown.myselector;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    Button button;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button=(Button)findViewById(R.id.button);


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Toast.makeText(getApplicationContext(),  "버튼 클릭  -1" , Toast.LENGTH_SHORT).show();

            }
        });

    }


}

 

 

 

R.layout.activity_main

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="org.androidtown.myselector.MainActivity">

    <!--백그라운드에 xml 을 지정한다.-->


    <Button
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/button"
        android:background="@drawable/arrow_left_selector"
        android:layout_alignParentTop="true"
        android:layout_alignLeft="@+id/button1"
        android:layout_alignStart="@+id/button1"
        android:layout_marginTop="29dp" />

    <org.androidtown.myselector.BitmapButton
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/button1"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="69dp" />


</RelativeLayout>

 

 

class BitmapButton

package org.androidtown.myselector;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.Button;

/**
 * Created by choi on 2017-04-08.
 */

public class BitmapButton extends Button{


    public BitmapButton(Context context) {
        super(context);
        init();
    }

    public BitmapButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }



    private void init(){
        setBackgroundResource(R.drawable.arrow_left_normal);
    }


    @Override
    public boolean onTouchEvent(MotionEvent event) {

        int action =event.getAction();

        if(action==MotionEvent.ACTION_DOWN){
            setBackgroundResource(R.drawable.arrow_left_clicked);

        }else if(action==MotionEvent.ACTION_UP){
            setBackgroundResource(R.drawable.arrow_left_normal);
        }
        return true;
    }



}

 

 

arrow_left_selector.xml
<?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/arrow_left_clicked"
        />

    <!--정상적인경우-->
    <item
        android:drawable="@drawable/arrow_left_normal"
        />

</selector>

 

 

 

 

android

 

about author

PHRASE

Level 60  머나먼나라

누가 자기의 돈을 남에게 맡기겠는가? 그러나 자기의 시간과 생명을 남에게 맡기고 돌아보지 않는 사람은 많다. 우리는 한 푼 돈에는 인색하면서도 시간과 생명을 한없이 낭비하고 돌아보지 않는다. 돈에 인색한 만큼 시간과 자기 생명에 대하여 인색하다면, 그것은 매우 유익한 일이며 칭찬할 만한 일이다. -몽테뉴

댓글 ( 4)

댓글 남기기

작성