- package com.test.TestButton;
-
- import android.app.Activity;
- import android.content.Context;
- import android.graphics.drawable.Drawable;
- import android.graphics.drawable.StateListDrawable;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
-
- public class TestButton extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Integer[] mButtonState = { R.drawable.defaultbutton,
- R.drawable.focusedpressed, R.drawable.pressed };
- Button mButton = (Button) findViewById(R.id.button);
- MyButton myButton = new MyButton(this);
- mButton.setBackgroundDrawable(myButton.setbg(mButtonState));
- }
-
- class MyButton extends View {
-
- public MyButton(Context context) {
- super(context);
- }
-
- public StateListDrawable setbg(Integer[] mImageIds) {
- StateListDrawable bg = new StateListDrawable();
- Drawable normal = this.getResources().getDrawable(mImageIds[0]);
- Drawable selected = this.getResources().getDrawable(mImageIds[1]);
- Drawable pressed = this.getResources().getDrawable(mImageIds[2]);
- bg.addState(View.PRESSED_ENABLED_STATE_SET, pressed);
- bg.addState(View.ENABLED_FOCUSED_STATE_SET, selected);
- bg.addState(View.ENABLED_STATE_SET, normal);
- bg.addState(View.FOCUSED_STATE_SET, selected);
- bg.addState(View.EMPTY_STATE_SET, normal);
- return bg;
- }
- }
- }
|