package com.roly.nfc.crypto.ui.view;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.StateListDrawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import com.roly.nfc.crypto.R;
import com.roly.nfc.crypto.util.ColorUtils;
public class MenuEntry extends FrameLayout{
public MenuEntry(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.menu_entry, 0, 0);
String text = a.getString(R.styleable.menu_entry_label);
Drawable drawable = a.getDrawable(R.styleable.menu_entry_imageSrc);
int background = a.getColor(R.styleable.menu_entry_backgroundColor, android.R.color.background_light);
a.recycle();
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.menu_entry, this, true);
int colorSelected = ColorUtils.darken(background, (float) 0.5);
StateListDrawable stateListDrawable = new StateListDrawable();
stateListDrawable.addState(new int[]{android.R.attr.state_pressed}, new ColorDrawable(colorSelected));
stateListDrawable.addState(new int[]{android.R.attr.state_enabled}, new ColorDrawable(background));
setBackgroundDrawable(stateListDrawable);
ImageView image = (ImageView) view.findViewById(R.id.menu_entry_image);
image.setImageDrawable(drawable);
TextView label = (TextView) view.findViewById(R.id.menu_entry_label);
label.setText(text);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true;
}
}