下面列出了android.widget.ImageButton# setBackgroundDrawable ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@SuppressWarnings("deprecation")
@NonNull
@Override
public ImageButton createView() {
ImageButton imageViewButton = new ImageButton(getContext());
if (!enableAutoSet) {
//无边框的带有水波纹的按钮样式
TypedArray typedArray = getContext().obtainStyledAttributes(new int[]{android.R.attr.selectableItemBackgroundBorderless});
Drawable drawable = typedArray.getDrawable(0);
imageViewButton.setBackgroundDrawable(drawable);
typedArray.recycle();
} else {
imageViewButton.setBackgroundDrawable(null);
}
imageViewButton.setImageResource(idRes);
imageViewButton.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
return imageViewButton;
}
private ArrayList<ImageButton> generateFollowCircles() {
int diameter = mFAB.getType() == FloatingActionButton.TYPE_NORMAL ?
Utils.getDimension(mContext, R.dimen.fab_size_normal) :
Utils.getDimension(mContext, R.dimen.fab_size_mini);
ArrayList<ImageButton> circles = new ArrayList<>(mMenuItems.size());
for (MenuItem item : mMenuItems) {
ImageButton circle = new ImageButton(mContext);
OvalShape ovalShape = new OvalShape();
ShapeDrawable shapeDrawable = new ShapeDrawable(ovalShape);
shapeDrawable.getPaint().setColor(getResources().getColor(item.getBgColor()));
circle.setBackgroundDrawable(shapeDrawable);
circle.setImageResource(item.getIcon());
LayoutParams lp = new LayoutParams(diameter, diameter);
circle.setLayoutParams(lp);
circles.add(circle);
}
return circles;
}
@SuppressWarnings("deprecation")
private void initTitleLayout() {
TextView titleTextView = (TextView) findViewById(ResFinder.getId(
"umeng_comm_title_tv"));
titleTextView.setText(ResFinder.getString("umeng_comm_feed_detail"));
titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
// back btn
findViewById(ResFinder.getId("umeng_comm_title_back_btn")).setOnClickListener(this);
// 刷新按钮
mRefreshButton = (ImageButton) findViewById(ResFinder.getId(
"umeng_comm_title_setting_btn"));
LayoutParams layoutParams = (LayoutParams) mRefreshButton.getLayoutParams();
layoutParams.width = DeviceUtils.dp2px(this, 20);
layoutParams.height = DeviceUtils.dp2px(this, 20);
layoutParams.rightMargin = DeviceUtils.dp2px(getApplicationContext(), 4);
mRefreshButton.setLayoutParams(layoutParams);
mRefreshButton.setBackgroundDrawable(ResFinder.getDrawable("umeng_comm_more"));
mRefreshButton.setOnClickListener(new LoginOnViewClickListener() {
@Override
protected void doAfterLogin(View v) {
mActionDialog.show();
}
});
}
private void addHelpPlaceholder() {
if (!mPrompt.hasHelp()) {
return;
}
helpPlaceholder = new FrameLayout(this.getContext());
helpPlaceholder.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT));
final ImageButton trigger = new ImageButton(getContext());
trigger.setScaleType(ScaleType.FIT_CENTER);
trigger.setImageResource(R.drawable.icon_info_outline_lightcool);
trigger.setBackgroundDrawable(null);
trigger.setOnClickListener(v -> {
trigger.setImageResource(R.drawable.icon_info_fill_lightcool);
fireHelpText(() -> {
// back to the old icon
trigger.setImageResource(R.drawable.icon_info_outline_lightcool);
});
});
trigger.setId(847294011);
LinearLayout triggerLayout = new LinearLayout(getContext());
triggerLayout.setOrientation(LinearLayout.HORIZONTAL);
triggerLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
triggerLayout.setGravity(Gravity.RIGHT);
triggerLayout.addView(trigger);
MediaLayout helpLayout = createHelpLayout();
helpLayout.setBackgroundResource(R.color.very_light_blue);
helpPlaceholder.addView(helpLayout);
this.addView(triggerLayout);
this.addView(helpPlaceholder);
helpPlaceholder.setVisibility(View.GONE);
}
private ImageButton createOverflowButton() {
final ImageButton overflowButton = new ImageButton(mContext);
overflowButton.setLayoutParams(new ViewGroup.LayoutParams(AndroidUtilities.dp(56), AndroidUtilities.dp(48)));
overflowButton.setPaddingRelative(AndroidUtilities.dp(16), AndroidUtilities.dp(12), AndroidUtilities.dp(16), AndroidUtilities.dp(12));
overflowButton.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
overflowButton.setImageDrawable(mOverflow);
int color;
if (currentStyle == STYLE_DIALOG) {
color = Theme.getColor(Theme.key_dialogTextBlack);
overflowButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector), 1));
} else if (currentStyle == STYLE_BLACK) {
color = 0xfffafafa;
overflowButton.setBackgroundDrawable(Theme.createSelectorDrawable(0x40ffffff, 1));
} else {
color = Theme.getColor(Theme.key_windowBackgroundWhiteBlackText);
overflowButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector), 1));
}
mOverflow.setTint(color);
mArrow.setTint(color);
mToArrow.setTint(color);
mToOverflow.setTint(color);
overflowButton.setOnClickListener(v -> {
if (mIsOverflowOpen) {
overflowButton.setImageDrawable(mToOverflow);
mToOverflow.start();
closeOverflow();
} else {
overflowButton.setImageDrawable(mToArrow);
mToArrow.start();
openOverflow();
}
});
return overflowButton;
}
private ImageButton createOverflowButton() {
final ImageButton overflowButton = new ImageButton(mContext);
overflowButton.setLayoutParams(new ViewGroup.LayoutParams(AndroidUtilities.dp(56), AndroidUtilities.dp(48)));
overflowButton.setPaddingRelative(AndroidUtilities.dp(16), AndroidUtilities.dp(12), AndroidUtilities.dp(16), AndroidUtilities.dp(12));
overflowButton.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
overflowButton.setImageDrawable(mOverflow);
int color;
if (currentStyle == STYLE_DIALOG) {
color = Theme.getColor(Theme.key_dialogTextBlack);
overflowButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector), 1));
} else if (currentStyle == STYLE_BLACK) {
color = 0xfffafafa;
overflowButton.setBackgroundDrawable(Theme.createSelectorDrawable(0x40ffffff, 1));
} else {
color = Theme.getColor(Theme.key_windowBackgroundWhiteBlackText);
overflowButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector), 1));
}
mOverflow.setTint(color);
mArrow.setTint(color);
mToArrow.setTint(color);
mToOverflow.setTint(color);
overflowButton.setOnClickListener(v -> {
if (mIsOverflowOpen) {
overflowButton.setImageDrawable(mToOverflow);
mToOverflow.start();
closeOverflow();
} else {
overflowButton.setImageDrawable(mToArrow);
mToArrow.start();
openOverflow();
}
});
return overflowButton;
}
private void init(Context context) {
Resources resources = getResources();
int diameterPX = Utils.dpToPx(mMenuItem.getDiameter(), resources);
this.mDiameter = diameterPX;
mBtn = new ImageButton(context);
LayoutParams btnLp = new LayoutParams(diameterPX, diameterPX);
btnLp.gravity = Gravity.CENTER_HORIZONTAL;
btnLp.bottomMargin = Util.dpToPx(mGapSize, resources);
mBtn.setLayoutParams(btnLp);
OvalShape ovalShape = new OvalShape();
ShapeDrawable shapeDrawable = new ShapeDrawable(ovalShape);
shapeDrawable.getPaint().setColor(resources.getColor(mMenuItem.getBgColor()));
mBtn.setBackgroundDrawable(shapeDrawable);
mBtn.setImageResource(mMenuItem.getIcon());
mBtn.setClickable(false);
addView(mBtn);
mLabel = new TextView(context);
LayoutParams labelLp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
labelLp.gravity = Gravity.CENTER_HORIZONTAL;
mLabel.setLayoutParams(labelLp);
mLabel.setText(mMenuItem.getLabel());
mLabel.setTextColor(resources.getColor(mMenuItem.getTextColor()));
mLabel.setTextSize(TypedValue.COMPLEX_UNIT_SP, mTextSize);
addView(mLabel);
setOrientation(LinearLayout.VERTICAL);
if(mAlphaAnimation) {
setAlpha(0);
}
getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
getViewTreeObserver().removeGlobalOnLayoutListener(this);
applyPressAnimation();
ViewGroup parent = (ViewGroup) getParent();
parent.setClipChildren(false);
parent.setClipToPadding(false);
setClipChildren(false);
setClipToPadding(false);
}
});
}
private void initLayout() {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.home_page, this, true);
ThemeUtil.setRootBackground(this);
propertySupport = new PropertyChangeSupport(this);
ibProfileImage = (ImageButton) this.findViewById(R.id.ibProfileImage);
TextView tvTitle = (TextView) this.findViewById(R.id.tvTitle);
ImageButton ibGroup = (ImageButton) this.findViewById(R.id.ibGroup);
ImageButton ibEdit = (ImageButton) this.findViewById(R.id.ibEdit);
Button btnMention = (Button) this.findViewById(R.id.btnMention);
Button btnComment = (Button) this.findViewById(R.id.btnComment);
Button btnDirectMessage = (Button) this.findViewById(R.id.btnDirectMessage);
llFooter = (LinearLayout) this.findViewById(R.id.llFooter);
btnMyHome = (Button) this.findViewById(R.id.btnMyHome);
btnMessage = (Button) this.findViewById(R.id.btnMessage);
btnProfile = (Button) this.findViewById(R.id.btnProfile);
btnApp = (Button) this.findViewById(R.id.btnApp);
btnMore = (Button) this.findViewById(R.id.btnMore);
//主题
Theme theme = ThemeUtil.createTheme(getContext());
LinearLayout llHeader = (LinearLayout)this.findViewById(R.id.llHeader);
llHeader.setBackgroundDrawable(theme.getDrawable("bg_header"));
llHeader.setGravity(Gravity.CENTER_VERTICAL);
ibProfileImage.setBackgroundDrawable(theme.getDrawable("bg_account_display"));
ibGroup.setImageDrawable(theme.getDrawable("selector_btn_group"));
Drawable bgHeaderDivider = theme.getDrawable("bg_header_divider");
ibGroup.setBackgroundDrawable(bgHeaderDivider);
ibEdit.setBackgroundDrawable(theme.getDrawable("selector_btn_status"));
ibEdit.setImageDrawable(bgHeaderDivider);
tvTitle.setTextColor(theme.getColorStateList("selector_header_title"));
btnMention.setBackgroundDrawable(theme.getDrawable("selector_tab_mention"));
btnMention.setTextColor(theme.getColorStateList("selector_header_title"));
btnComment.setBackgroundDrawable(theme.getDrawable("selector_tab_comment"));
btnComment.setTextColor(theme.getColorStateList("selector_header_title"));
btnDirectMessage.setBackgroundDrawable(theme.getDrawable("selector_tab_direct_message"));
btnDirectMessage.setTextColor(theme.getColorStateList("selector_header_title"));
myHomeDrawable = theme.getDrawable("selector_tab_home");
myHomeRefreshDrawable = theme.getDrawable("selector_tab_home_refresh");
messageDrawable = theme.getDrawable("selector_tab_message");
messageRefreshDrawable = theme.getDrawable("selector_tab_message_refresh");
profileDrawable = theme.getDrawable("selector_tab_profile");
profileRefreshDrawable = theme.getDrawable("selector_tab_profile_refresh");
llFooter.setBackgroundDrawable(theme.getDrawable("bg_footer"));
llFooter.setPadding(0, 0, 0, 0);
btnMyHome.setBackgroundDrawable(myHomeDrawable);
btnMessage.setBackgroundDrawable(messageDrawable);
btnProfile.setBackgroundDrawable(profileDrawable);
btnApp.setBackgroundDrawable(theme.getDrawable("selector_tab_app"));
btnMore.setBackgroundDrawable(theme.getDrawable("selector_tab_more"));
}