package it.neokree.materialnavigationdrawer.elements;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Typeface;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import it.neokree.materialnavigationdrawer.R;
import it.neokree.materialnavigationdrawer.util.Utils;
/**
* Created by neokree on 17/01/15.
*/
public class MaterialSubheader {
private CharSequence title;
private int titleColor;
private TextView text;
private View view;
public MaterialSubheader(Context ctx) {
float density = ctx.getResources().getDisplayMetrics().density;
// create layout
LinearLayout layout = new LinearLayout(ctx);
layout.setOrientation(LinearLayout.VERTICAL);
// inflate the line
View view = new View(ctx);
view.setBackgroundColor(Color.parseColor("#8f8f8f"));
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,1);
params.setMargins(0,(int) (8 * density), 0 , (int) (8 * density));
layout.addView(view,params);
// inflate the text
text = new TextView(ctx);
Utils.setAlpha(text,0.54f);
text.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);
text.setGravity(Gravity.START);
LinearLayout.LayoutParams paramsText = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
paramsText.setMargins((int) (16 * density),0, (int) (16 * density) , (int) (4 * density));
layout.addView(text,paramsText);
this.view = layout;
// get attributes from current theme
Resources.Theme theme = ctx.getTheme();
TypedValue typedValue = new TypedValue();
theme.resolveAttribute(R.attr.subheaderStyle,typedValue,true);
TypedArray values = theme.obtainStyledAttributes(typedValue.resourceId,R.styleable.MaterialSubheader);
try {
titleColor = values.getColor(R.styleable.MaterialSubheader_subheaderTitleColor,0x000);
}
finally {
values.recycle();
}
// set attributes to the view
text.setTextColor(titleColor);
}
public void setTitleFont(Typeface font) {
text.setTypeface(font);
}
public void setTitle(CharSequence title) {
this.title = title;
text.setText(title);
}
public void setTitleColor(int color) {
titleColor = color;
text.setTextColor(color);
}
public int getTitleColor() {
return titleColor;
}
public CharSequence getTitle() {
return title;
}
public View getView() {
return view;
}
}