package com.appassit.widget.navigationdrawer;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.appassit.R;
import com.appassit.model.NavigationDrawerItem;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
/**
* Created by Michal Bialas on 19/07/14.
*/
public class NavigationDrawerItemView extends RelativeLayout {
@ViewInject(R.id.itemRR)
RelativeLayout rr;
@ViewInject(R.id.navigationDrawerItemTitleTV)
TextView itemTitleTV;
@ViewInject(R.id.navigationDrawerItemIconIV)
ImageView itemIconIV;
final Resources res;
public NavigationDrawerItemView(Context context) {
super(context);
res = context.getResources();
}
public NavigationDrawerItemView(Context context, AttributeSet attrs) {
super(context, attrs);
res = context.getResources();
}
public NavigationDrawerItemView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
res = context.getResources();
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
ViewUtils.inject(this);
}
public void bindTo(NavigationDrawerItem item) {
requestLayout();
if (item.isMainItem()) {
itemTitleTV.setText(item.getItemName());
itemTitleTV.setTextSize(22);
itemIconIV.setVisibility(View.GONE);
} else {
itemTitleTV.setText(item.getItemName());
itemTitleTV.setTextSize(14);
itemIconIV.setImageDrawable(getIcon(item.getItemIcon()));
itemIconIV.setVisibility(View.VISIBLE);
rr.setBackgroundColor(res.getColor(R.color.grey_background));
}
if (item.isSelected()) {
itemTitleTV.setTypeface(null, Typeface.BOLD);
} else {
itemTitleTV.setTypeface(null, Typeface.NORMAL);
}
}
private Drawable getIcon(int res) {
return getContext().getResources().getDrawable(res);
}
}