package tv.danmaku.android; import android.annotation.TargetApi; import android.app.Activity; import android.graphics.Paint; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; public class ViewHelper { // View BackgroundColor public static void setBackgroundColor(View container, int id, int color) { if (container == null) return; container.findViewById(id).setBackgroundColor(color); } @SuppressWarnings("deprecation") public static void setBackgroundDrawable(View container, int id, Drawable drawable) { if (container == null) return; container.findViewById(id).setBackgroundDrawable(drawable); } public static void setBackgroundResource(View container, int id, int resource) { if (container == null) return; container.findViewById(id).setBackgroundResource(resource); } /*-------------------------------------- * View Visibility */ public static void setVisibility(View container, int id, int visibility) { if (container == null) return; container.findViewById(id).setVisibility(visibility); } /*-------------------------------------- * View OnClickListener */ public static void setOnClickListener(View container, int id, OnClickListener listener) { if (container == null) return; container.findViewById(id).setOnClickListener(listener); } /*-------------------------------------- * View OnTouchListener */ public static void setOnTouchListener(View container, int id, View.OnTouchListener listener) { if (container == null) return; container.findViewById(id).setOnTouchListener(listener); } /*-------------------------------------- * ImageView setImageDrawable */ public static void setImageDrawable(View container, int id, int drawableId) { if (container == null) return; setImageDrawable(container.findViewById(id), ResourcesHelper.getDrawable(container.getContext(), drawableId)); } public static void setImageDrawable(View container, int id, Drawable drawable) { if (container == null) return; setImageDrawable(container.findViewById(id), drawable); } public static void setImageDrawable(View imageView, Drawable drawable) { ((ImageView) imageView).setImageDrawable(drawable); } public static void setImageDrawable(ImageView imageView, Drawable drawable) { imageView.setImageDrawable(drawable); } /*-------------------------------------- * TextView setText */ public static void setText(Activity container, int id, int resource) { if (container == null) return; setText(container, id, container.getString(resource)); } public static void setText(View container, int id, int resource) { if (container == null) return; setText(container, id, container.getContext().getString(resource)); } public static void setText(Activity container, int id, CharSequence text) { if (container == null) return; setText(container.findViewById(id), text); } public static void setText(View container, int id, CharSequence text) { if (container == null) return; setText(container.findViewById(id), text); } public static void setText(View textView, CharSequence text) { ((TextView) textView).setText(text); } public static void setText(TextView textView, CharSequence text) { textView.setText(text); } /*-------------------------------------- * TextView setTypeface */ public static void setTypeface(View container, int id, Typeface face) { if (container == null) return; setTypeface(container.findViewById(id), face); } public static void setTypeface(View textView, Typeface face) { ((TextView) textView).setTypeface(face); } // ListView public static View getChildAtPosition(ListView listView, int position) { int firstPostion = listView.getFirstVisiblePosition(); int lastPostion = listView.getLastVisiblePosition(); if ((position < firstPostion) || (position > lastPostion)) { return null; } return listView.getChildAt(position - firstPostion + listView.getHeaderViewsCount()); } @TargetApi(11) public static void setLayerType(View view, int layerType, Paint paint) { if (BuildHelper.isApi11_HoneyCombOrLater()) { view.setLayerType(layerType, paint); } } }