간단하게 버튼에'누르는 느낌'을 내주세요.

7559 단어 AndroidJava

안드로이드로 Imagebutton과 button에 간단하게 스트레스를 주는 방법.



1. 다음 두 개의 Java 클래스를 만들어 프로젝트에 추가합니다.
※ "***"부분 편집
PushButton.java
package *****パッケージ名*****;

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

/*** プッシュするエフェクトのボタン ***/
public class PushButton extends Button {
    public PushButton(Context context) {
        super(context);
    }

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

    @Override
    public void setPressed(boolean pressed) {
        if(pressed){
            this.setScaleY(0.92f);
            this.setScaleX(0.96f);
        }else{
            this.setScaleY(1.0f);
            this.setScaleX(1.0f);
        }
        super.setPressed(pressed);
    }

}
AlphaButton.java
package *****パッケージ名*****;

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

/*** 半透明になるエフェクトのボタン ***/
public class AlphaButton extends Button {
    public AlphaButton(Context context) {
        super(context);
    }

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

    @Override
    public void setPressed(boolean pressed) {
        if(pressed){
            this.setAlpha(0.75f);
        }else{
            this.setAlpha(1.0f);
        }
        super.setPressed(pressed);
    }

}
2. Buton 대신 배치 XML에서 사용자 지정 버튼 구성
• 레이아웃 예
※ "***"부분 편집
layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainframe"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000">

    <!--- 押すと縮小するボタン -->
    <*****パッケージ名*****.PushButton
        android:id="@+id/button_sample01"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button_sample"
        />

    <!--- 押すと半透明のボタン -->
    <*****パッケージ名*****.AlphaButton
        android:id="@+id/button_sample02"
        android:layout_width="200dp"
        android:layout_height="60dp"
        android:background="@drawable/button_sample"
        />
</LinearLayout>
이상

좋은 웹페이지 즐겨찾기