package net.coding.program.common.widget; import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; import net.coding.program.R; /** * Created by chenchao on 15/5/28. * listview item,带一个 icon 和一行文字 */ public class ListItem1 extends FrameLayout { private View mIcon; private TextView mText; private View badge; public ListItem1(Context context, AttributeSet attrs) { super(context, attrs); init(context, attrs); } private void init(Context context, AttributeSet attrs) { View.inflate(context, R.layout.list_item_1, this); mIcon = findViewById(R.id.icon); mText = (TextView) findViewById(R.id.title); badge = findViewById(R.id.badge); badge.setVisibility(INVISIBLE); TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.ListItem1); String title = array.getString(R.styleable.ListItem1_itemTitle); int icon = array.getResourceId(R.styleable.ListItem1_itemIcon, R.drawable.user_home_project); boolean center = array.getBoolean(R.styleable.ListItem1_itemCenter, false); array.recycle(); if (title == null) title = ""; mText.setText(title); mIcon.setBackgroundResource(icon); if (center) { findViewById(R.id.arrow).setVisibility(GONE); LinearLayout.LayoutParams layoutParams; layoutParams = (LinearLayout.LayoutParams) mText.getLayoutParams(); layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT; layoutParams.weight = 0; ((LinearLayout) findViewById(R.id.clickProject)).setGravity(Gravity.CENTER); } } public void setText(String s) { if (s == null) { return; } mText.setText(s); } public void showBadge(boolean show) { badge.setVisibility(show ? VISIBLE : INVISIBLE); } }