2024年安卓最全android强迫症头像BadgeView(1),程序员面试穿什么

最后

给大家送上我成功跳槽复习中所整理的资料,由于文章篇幅有限,所以只是把题目列出来了

image

image

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

	setTypeface(Typeface.DEFAULT);

	

	setTextSize(15);

	setTextColor(DEFAULT_TEXT_COLOR);

	setBackgroundResource(R.drawable.bg1);

	setGravity(Gravity.CENTER);

	setPadding(1, 1, 1, 1);

	fadeIn = new AlphaAnimation(0, 1);

	fadeIn.setInterpolator(new DecelerateInterpolator());

	fadeIn.setDuration(200);



	fadeOut = new AlphaAnimation(1, 0);

	fadeOut.setInterpolator(new AccelerateInterpolator());

	fadeOut.setDuration(200);



	isShown = false;



	if (this.target != null) {

		applyTo(this.target);

	} else {

		show();

	}



}



private void applyTo(View target) {



	LayoutParams lp = target.getLayoutParams();

	ViewParent parent = target.getParent();

	FrameLayout container = new FrameLayout(context);



	if (target instanceof TabWidget) {



		// set target to the relevant tab child container

		target = ((TabWidget) target).getChildTabViewAt(targetTabIndex);

		this.target = target;



		((ViewGroup) target).addView(container, 

				new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));



		this.setVisibility(View.GONE);

		container.addView(this);



	} else {



		// TODO verify that parent is indeed a ViewGroup

		ViewGroup group = (ViewGroup) parent; 

		int index = group.indexOfChild(target);



		group.removeView(target);

		group.addView(container, index, lp);



		container.addView(target);



		this.setVisibility(View.GONE);

		container.addView(this);



		group.invalidate();



	}



}



/**

 * Make the badge visible in the UI.

 * 

 */

public void show() {

	show(false, null);

}



/**

 * Make the badge visible in the UI.

 *

 * @param animate flag to apply the default fade-in animation.

 */

public void show(boolean animate) {

	show(animate, fadeIn);

}



/**

 * Make the badge visible in the UI.

 *

 * @param anim Animation to apply to the view when made visible.

 */

public void show(Animation anim) {

	show(true, anim);

}



/**

 * Make the badge non-visible in the UI.

 * 

 */

public void hide() {

	hide(false, null);

}



/**

 * Make the badge non-visible in the UI.

 *

 * @param animate flag to apply the default fade-out animation.

 */

public void hide(boolean animate) {

	hide(animate, fadeOut);

}



/**

 * Make the badge non-visible in the UI.

 *

 * @param anim Animation to apply to the view when made non-visible.

 */

public void hide(Animation anim) {

	hide(true, anim);

}



/**

 * Toggle the badge visibility in the UI.

 * 

 */

public void toggle() {

	toggle(false, null, null);

}



/**

 * Toggle the badge visibility in the UI.

 * 

 * @param animate flag to apply the default fade-in/out animation.

 */

public void toggle(boolean animate) {

	toggle(animate, fadeIn, fadeOut);

}



/**

 * Toggle the badge visibility in the UI.

 *

 * @param animIn Animation to apply to the view when made visible.

 * @param animOut Animation to apply to the view when made non-visible.

 */

public void toggle(Animation animIn, Animation animOut) {

	toggle(true, animIn, animOut);

}



private void show(boolean animate, Animation anim) {

// if (getBackground() == null) {

// setBackgroundResource(R.drawable.bg1);

// }

	applyLayoutParams();



	if (animate) {

		this.startAnimation(anim);

	}

	this.setVisibility(View.VISIBLE);

	isShown = true;

}



private void hide(boolean animate, Animation anim) {

	this.setVisibility(View.GONE);

	if (animate) {

		this.startAnimation(anim);

	}

	isShown = false;

}



private void toggle(boolean animate, Animation animIn, Animation animOut) {

	if (isShown) {

		hide(animate && (animOut != null), animOut);	

	} else {

		show(animate && (animIn != null), animIn);

	}

}



/**

 * Increment the numeric badge label. If the current badge label cannot be converted to

 * an integer value, its label will be set to "0".

 * 

 * @param offset the increment offset.

 */

public int increment(int offset) {

	CharSequence txt = getText();

	int i;

	if (txt != null) {

		try {

			i = Integer.parseInt(txt.toString());

		} catch (NumberFormatException e) {

			i = 0;

		}

	} else {

		i = 0;

	}

	i = i + offset;

	setText(String.valueOf(i));

	return i;

}



/**

 * Decrement the numeric badge label. If the current badge label cannot be converted to

 * an integer value, its label will be set to "0".

 * 

 * @param offset the decrement offset.

 */

public int decrement(int offset) {

	return increment(-offset);

}

// private ShapeDrawable getDefaultBackground() {//画圆

//

// int r = dipToPixels(DEFAULT_CORNER_RADIUS_DIP)+4;

// float[] outerR = new float[] {r, r, r, r, r, r, r, r};

// RoundRectShape rr = new RoundRectShape(outerR, null, null);

// ShapeDrawable drawable = new ShapeDrawable(rr);

// drawable.getPaint().setColor(Color.RED);

//

// return drawable;

//

// }

private void applyLayoutParams() {



	FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);



	switch (badgePosition) {

	case POSITION_TOP_LEFT:

		lp.gravity = Gravity.LEFT | Gravity.TOP;

		lp.setMargins(badgeMarginV, badgeMarginH, 0, 0);

		break;

	case POSITION_TOP_RIGHT:

		lp.gravity = Gravity.RIGHT | Gravity.TOP;

		lp.setMargins(0, badgeMarginV, badgeMarginH, 0);

		break;

	case POSITION_TOP_RIGHT2:

		break;

	case POSITION_BOTTOM_LEFT:

		lp.gravity = Gravity.LEFT | Gravity.BOTTOM;

		lp.setMargins(badgeMarginH, 0, 0, badgeMarginV);

		break;

	case POSITION_BOTTOM_RIGHT:

		lp.gravity = Gravity.RIGHT | Gravity.BOTTOM;

		lp.setMargins(0, 0, badgeMarginH, badgeMarginV);

		break;

	case POSITION_CENTER:

		lp.gravity = Gravity.CENTER;

		lp.setMargins(0, 0, 0, 0);

		break;

	case POSITION://调整适合的手机布局

		lp.setMargins(325, 105, 0, 0);

	default:

		break;

	}



	setLayoutParams(lp);



}



/**

 * Returns the target View this badge has been attached to.

 * 

 */

public View getTarget() {

	return target;

}



/**

 * Is this badge currently visible in the UI?

 * 

 */

@Override

public boolean isShown() {

	return isShown;

}



/**

 * Returns the positioning of this badge.

 * 

 * one of POSITION_TOP_LEFT, POSITION_TOP_RIGHT, POSITION_BOTTOM_LEFT, POSITION_BOTTOM_RIGHT, POSTION_CENTER.

 * 

 */

public int getBadgePosition() {

	return badgePosition;

}



/**

 * Set the positioning of this badge.

 * 

 * @param layoutPosition one of POSITION_TOP_LEFT, POSITION_TOP_RIGHT, POSITION_BOTTOM_LEFT, POSITION_BOTTOM_RIGHT, POSTION_CENTER.

 * 

 */

public void setBadgePosition(int layoutPosition) {

	this.badgePosition = layoutPosition;

}



/**

 * Returns the horizontal margin from the target View that is applied to this badge.

 * 

 */

public int getHorizontalBadgeMargin() {

	return badgeMarginH;

}



/**

 * Returns the vertical margin from the target View that is applied to this badge.

 * 

最后

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。

所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。

如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

 * 

 */

public int getHorizontalBadgeMargin() {

	return badgeMarginH;

}



/**

 * Returns the vertical margin from the target View that is applied to this badge.

 * 

最后

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。

所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。

如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
L1-075 强迫症是指在2021的天梯赛中的一道题目。这道题目与小强在统计一个小区里居民的出生月有关。小强需要整理大家填写的生日格式,将其统一为-月月的格式。对于那些只写了份后两位的信息,根据规定,小于22的认为是20开头的,其他的认为是19开头的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [2021天梯赛题解1](https://download.csdn.net/download/weixin_35752233/86315724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [L1-075 强迫症](https://blog.csdn.net/weixin_45256307/article/details/129486657)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [PTA 天梯赛 L1-075 强迫症 (10 分) 详解](https://blog.csdn.net/Ceylan_/article/details/122860538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值