android.view.ViewGroup#findViewWithTag ( )源码实例Demo

下面列出了android.view.ViewGroup#findViewWithTag ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Ruisi   文件: SmileyView.java
@Override
public Object instantiateItem(ViewGroup container, final int page) {
    EmotionGridView v = container.findViewWithTag(page);
    if (v == null) {
        final int tabpos = pageToTabPos(page);
        int pageStart = page - getPageCountBefore(tabpos);
        int index = pageStart * ROW_COUNT * COLOUM_COUNT;

        v = new EmotionGridView(context, smileys.get(tabpos),
                COLOUM_COUNT, ROW_COUNT, index, emotionInputHandler);
        v.setLayoutParams(new LayoutParams(LMP, LMP));
        v.setTag(page);
        container.addView(v);
    }
    return v;
}
 
源代码2 项目: Android-utils   文件: BarUtils.java
private static View applyStatusBarColor(final Window window,
                                        final int color,
                                        boolean isDecor) {
    ViewGroup parent = isDecor ?
            (ViewGroup) window.getDecorView() :
            (ViewGroup) window.findViewById(android.R.id.content);
    View fakeStatusBarView = parent.findViewWithTag(TAG_STATUS_BAR);
    if (fakeStatusBarView != null) {
        if (fakeStatusBarView.getVisibility() == View.GONE) {
            fakeStatusBarView.setVisibility(View.VISIBLE);
        }
        fakeStatusBarView.setBackgroundColor(color);
    } else {
        fakeStatusBarView = createStatusBarView(window.getContext(), color);
        parent.addView(fakeStatusBarView);
    }
    return fakeStatusBarView;
}
 
源代码3 项目: QPM   文件: StatusBarImmersiveUtils.java
/**
 * 状态栏沉浸模式下(状态栏文字深颜色)
 * 设置沉浸式状态栏颜色
 *
 * @param colorStatusbar       状态栏颜色
 * @param defaultDarkIconColor 如果状态栏图标无法设置为深色图标 设置默认的状态栏颜色
 */
public static void setDarkIconStatusBarColor(Activity activity, int colorStatusbar, int defaultDarkIconColor) {
    ViewGroup contentView = (ViewGroup) activity.findViewById(Window.ID_ANDROID_CONTENT);
    View mStatusBarView = contentView.findViewWithTag(TAG_FAKE_STATUS_BAR_VIEW);
    if (mStatusBarView == null) {
        open(activity);
    }
    mStatusBarView = contentView.findViewWithTag(TAG_FAKE_STATUS_BAR_VIEW);
    if (mStatusBarView != null) {
        if (!StatusBarColorUtils.setStatusBarDarkIcon(activity, true)) {
            mStatusBarView.setBackgroundColor(defaultDarkIconColor);
        } else {
            mStatusBarView.setBackgroundColor(colorStatusbar);
            StatusBarColorUtils.setStatusBarDarkIcon(activity, true);
        }
    }
}
 
源代码4 项目: status-bar-compat   文件: StatusBarKitkatImpl.java
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
public void setStatusBarColor(Window window, int color) {
    window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    ViewGroup decorViewGroup = (ViewGroup) window.getDecorView();
    View statusBarView = decorViewGroup.findViewWithTag(STATUS_BAR_VIEW_TAG);
    if (statusBarView == null) {
        statusBarView = new StatusBarView(window.getContext());
        statusBarView.setTag(STATUS_BAR_VIEW_TAG);
        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
                FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);
        params.gravity = Gravity.TOP;
        statusBarView.setLayoutParams(params);
        decorViewGroup.addView(statusBarView);
    }
    statusBarView.setBackgroundColor(color);
    StatusBarCompat.internalSetFitsSystemWindows(window, true);
}
 
源代码5 项目: MvpRoute   文件: StatusBarUtils.java
/**
 * 设置状态栏颜色
 *
 * @param activity activity
 * @param color    状态栏颜色值
 */
public static void setStatusBarColor(@NonNull final Activity activity,
									 @ColorInt final int color) {
	Window window = activity.getWindow();
	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
		window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
		window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
		window.setStatusBarColor(color);
	} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
		window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
		ViewGroup decorView = (ViewGroup) window.getDecorView();
		View fakeStatusBarView = decorView.findViewWithTag(FAKE_STATUS_BAR_VIEW_TAG);
		if (fakeStatusBarView != null) {
			if (fakeStatusBarView.getVisibility() == View.GONE) {
				fakeStatusBarView.setVisibility(View.VISIBLE);
			}
			fakeStatusBarView.setBackgroundColor(color);
		} else {
			decorView.addView(createColorStatusBarView(activity, color));
		}
		fitWindowAndClipPadding(activity);
	}
}
 
源代码6 项目: AndroidNavigation   文件: AppUtils.java
public static int getStatusBarColor(final Window window) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        return window.getStatusBarColor();
    } else {
        ViewGroup decorViewGroup = (ViewGroup) window.getDecorView();
        View statusBarView = decorViewGroup.findViewWithTag("custom_status_bar_tag");
        if (statusBarView != null) {
            Drawable drawable = statusBarView.getBackground();
            if (drawable instanceof ColorDrawable) {
                ColorDrawable colorDrawable = (ColorDrawable) drawable;
                return colorDrawable.getColor();
            }
        }
    }
    return Color.BLACK;
}
 
源代码7 项目: Android-UtilCode   文件: BarUtils.java
/**
 * 设置状态栏颜色
 *
 * @param activity       需要设置的activity
 * @param color          状态栏颜色值
 * @param statusBarAlpha 状态栏透明度
 */

public static void setColor(Activity activity, @ColorInt int color, @IntRange(from = 0, to = 255) int statusBarAlpha) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        activity.getWindow().setStatusBarColor(calculateStatusColor(color, statusBarAlpha));
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
        View fakeStatusBarView = decorView.findViewWithTag(FAKE_STATUS_BAR_VIEW_TAG);
        if (fakeStatusBarView != null) {
            if (fakeStatusBarView.getVisibility() == View.GONE) {
                fakeStatusBarView.setVisibility(View.VISIBLE);
            }
            fakeStatusBarView.setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
        } else {
            decorView.addView(createStatusBarView(activity, color, statusBarAlpha));
        }
        setRootView(activity);
    }
}
 
源代码8 项目: Android-UtilCode   文件: BarUtils.java
/**
 * 为DrawerLayout 布局设置状态栏变色
 *
 * @param activity       需要设置的activity
 * @param drawerLayout   DrawerLayout
 * @param color          状态栏颜色值
 * @param statusBarAlpha 状态栏透明度
 */
public static void setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color,
                                           @IntRange(from = 0, to = 255) int statusBarAlpha) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
        return;
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
    } else {
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
    // 生成一个状态栏大小的矩形
    // 添加 statusBarView 到布局中
    ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
    View fakeStatusBarView = contentLayout.findViewWithTag(FAKE_STATUS_BAR_VIEW_TAG);
    if (fakeStatusBarView != null) {
        if (fakeStatusBarView.getVisibility() == View.GONE) {
            fakeStatusBarView.setVisibility(View.VISIBLE);
        }
        fakeStatusBarView.setBackgroundColor(color);
    } else {
        contentLayout.addView(createStatusBarView(activity, color), 0);
    }
    // 内容布局不是 LinearLayout 时,设置padding top
    if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {
        contentLayout.getChildAt(1)
                .setPadding(contentLayout.getPaddingLeft(), getStatusBarHeight(activity) + contentLayout.getPaddingTop(),
                        contentLayout.getPaddingRight(), contentLayout.getPaddingBottom());
    }
    // 设置属性
    setDrawerLayoutProperty(drawerLayout, contentLayout);
    addTranslucentView(activity, statusBarAlpha);
}
 
源代码9 项目: Android-UtilCode   文件: BarUtils.java
/**
 * 隐藏伪状态栏 View
 *
 * @param activity 调用的 Activity
 */
public static void hideFakeStatusBarView(Activity activity) {
    ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
    View fakeStatusBarView = decorView.findViewWithTag(FAKE_STATUS_BAR_VIEW_TAG);
    if (fakeStatusBarView != null) {
        fakeStatusBarView.setVisibility(View.GONE);
    }
    View fakeTranslucentView = decorView.findViewWithTag(FAKE_TRANSLUCENT_VIEW_TAG);
    if (fakeTranslucentView != null) {
        fakeTranslucentView.setVisibility(View.GONE);
    }
}
 
源代码10 项目: likequanmintv   文件: LazyViewPagerAdapter.java
@Override
public View addLazyItem(ViewGroup container, int position) {
    View itemView = container.findViewWithTag(makeTag(position));
    if (itemView == null) {
        itemView = mLazyItems.get(position);
        itemView.setTag(makeTag(position));
        container.addView(itemView);
        mLazyItems.remove(position);
    }
    return itemView;
}
 
源代码11 项目: Android   文件: ToastEUtil.java
private ToastEUtil(Context context) {
    mContext = context;
    container = (ViewGroup) ((Activity) context).findViewById(android.R.id.content);
    View viewWithTag = container.findViewWithTag(TOAST_TAG);
    if(viewWithTag == null){
        v = ((Activity) context).getLayoutInflater().inflate(R.layout.item_toast, container);
        v.setTag(TOAST_TAG);
    }else{
        v = viewWithTag;
    }
    mContainer = (LinearLayout) v.findViewById(R.id.mbContainer);
    mContainer.setVisibility(View.GONE);
    mTextView = (TextView) v.findViewById(R.id.tips_tv);
    statusImg = (ImageView) v.findViewById(R.id.status_img);
}
 
源代码12 项目: QPM   文件: StatusBarColorUtils.java
private static void removeFakeStatusBarViewIfExist(Activity activity) {
    Window window = activity.getWindow();
    ViewGroup mDecorView = (ViewGroup) window.getDecorView();

    View fakeView = mDecorView.findViewWithTag(TAG_FAKE_STATUS_BAR_VIEW);
    if (fakeView != null) {
        mDecorView.removeView(fakeView);
    }
}
 
源代码13 项目: DevUtils   文件: BarUtils.java
/**
 * 隐藏 StatusBar View
 * @param window {@link Window}
 */
private static void hideStatusBarView(final Window window) {
    ViewGroup decorView = (ViewGroup) window.getDecorView();
    View fakeStatusBarView = decorView.findViewWithTag(TAG_STATUS_BAR);
    if (fakeStatusBarView == null) return;
    fakeStatusBarView.setVisibility(View.GONE);
}
 
源代码14 项目: OneTapVideoDownload   文件: SwipeToAction.java
public ViewHolder(View v) {
    super(v);

    ViewGroup vg = (ViewGroup) v;
    front = vg.findViewWithTag("front");
    revealLeft = vg.findViewWithTag("reveal-left");
    revealRight = vg.findViewWithTag("reveal-right");

    int childCount = vg.getChildCount();
    if (front == null) {
        if (childCount < 1) {
            throw new RuntimeException("You must provide a view with tag='front'");
        } else {
            front = vg.getChildAt(childCount-1);
        }
    }

    if (revealLeft == null || revealRight == null) {
        if (childCount < 2) {
            throw new RuntimeException("You must provide at least one reveal view.");
        } else {
            // set next to last as revealLeft view only if no revealRight was found
            if (revealLeft == null && revealRight == null) {
                revealLeft = vg.getChildAt(childCount - 2);
            }

            // if there are enough children assume the revealRight
            int i = childCount - 3;
            if (revealRight == null && i > -1) {
                revealRight = vg.getChildAt(i);
            }
        }
    }


}
 
源代码15 项目: backstack   文件: Helper.java
/**
 * Re-enables a view. This will remove the view added
 * @param viewGroup
 */
public static void enable(ViewGroup viewGroup){
    View view = viewGroup.findViewWithTag(DISABLE);
    if (view != null){
        viewGroup.removeView(view);
    }

}
 
private ViewGroup findContainerView(ViewGroup parent) {
	return (ViewGroup) parent.findViewWithTag(TAG);
}
 
源代码17 项目: Blurry   文件: Blurry.java
public static void delete(ViewGroup target) {
  View view = target.findViewWithTag(TAG);
  if (view != null) {
    target.removeView(view);
  }
}
 
源代码18 项目: MyBlogDemo   文件: Blurry.java
public static void delete(ViewGroup target) {
  View view = target.findViewWithTag(TAG);
  if (view != null) {
    target.removeView(view);
  }
}
 
源代码19 项目: AndroidUtilCode   文件: BarUtils.java
private static void hideStatusBarView(final Window window) {
    ViewGroup decorView = (ViewGroup) window.getDecorView();
    View fakeStatusBarView = decorView.findViewWithTag(TAG_STATUS_BAR);
    if (fakeStatusBarView == null) return;
    fakeStatusBarView.setVisibility(View.GONE);
}
 
源代码20 项目: likequanmintv   文件: Blurry.java
public static void delete(ViewGroup target) {
  View view = target.findViewWithTag(TAG);
  if (view != null) {
    target.removeView(view);
  }
}
 
 方法所在类