use of android.graphics.drawable.GradientDrawable in project actor-platform by actorapp.
the class CallFragment method onCreateView.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
this.callId = getArguments().getLong("call_id");
this.call = messenger().getCall(callId);
if (call == null) {
this.peer = Peer.user(myUid());
} else {
this.peer = call.getPeer();
}
manager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE);
FrameLayout cont = (FrameLayout) inflater.inflate(R.layout.fragment_call, container, false);
v = (Vibrator) getActivity().getSystemService(Context.VIBRATOR_SERVICE);
CallBackgroundAvatarView backgroundAvatarView = (CallBackgroundAvatarView) cont.findViewById(R.id.background);
// animator = new CallAvatarLayerAnimator(cont.findViewById(R.id.layer),
// cont.findViewById(R.id.layer1),
// cont.findViewById(R.id.layer2),
// cont.findViewById(R.id.layer3),
// cont.findViewById(R.id.layer4)
// );
layer1 = cont.findViewById(R.id.layer1);
layer2 = cont.findViewById(R.id.layer2);
layer3 = cont.findViewById(R.id.layer3);
avatarLayers = new View[] { // cont.findViewById(R.id.layer),
layer1, layer2, layer3 };
for (int i = 0; i < avatarLayers.length; i++) {
View layer = avatarLayers[i];
((GradientDrawable) layer.getBackground()).setColor(Color.WHITE);
((GradientDrawable) layer.getBackground()).setAlpha(50);
}
endCallContainer = cont.findViewById(R.id.end_call_container);
answerContainer = cont.findViewById(R.id.answer_container);
ImageButton answer = (ImageButton) cont.findViewById(R.id.answer);
answer.setOnClickListener(v1 -> onAnswer());
ImageButton notAnswer = (ImageButton) cont.findViewById(R.id.notAnswer);
endCall = (ImageButton) cont.findViewById(R.id.end_call);
notAnswer.setOnClickListener(v1 -> doEndCall());
endCall.setOnClickListener(v1 -> doEndCall());
//
//Avatar/Name bind
//
avatarView = (AvatarView) cont.findViewById(R.id.avatar);
avatarView.init(Screen.dp(130), 50);
nameTV = (TextView) cont.findViewById(R.id.name);
nameTV.setTextColor(ActorSDK.sharedActor().style.getProfileTitleColor());
if (peer.getPeerType() == PeerType.PRIVATE) {
UserVM user = users().get(peer.getPeerId());
avatarView.bind(user);
backgroundAvatarView.bind(user);
bind(nameTV, user.getName());
} else if (peer.getPeerType() == PeerType.GROUP) {
GroupVM g = groups().get(peer.getPeerId());
avatarView.bind(g);
backgroundAvatarView.bind(g);
bind(nameTV, g.getName());
}
nameTV.setSelected(true);
//
// Members list
//
membersList = (RecyclerListView) cont.findViewById(R.id.members_list);
if (call != null) {
CallMembersAdapter membersAdapter = new CallMembersAdapter(getActivity(), call.getMembers());
membersList.setAdapter(membersAdapter);
}
//
// Members list/ avatar switch
//
View.OnClickListener listener = v1 -> switchAvatarMembers();
avatarView.setOnClickListener(listener);
// cont.findViewById(R.id.background).setOnClickListener(listener);
membersList.setOnItemClickListener((parent, view, position, id) -> switchAvatarMembers());
statusTV = (TextView) cont.findViewById(R.id.status);
//
if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.VIBRATE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.MODIFY_AUDIO_SETTINGS) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.WAKE_LOCK) != PackageManager.PERMISSION_GRANTED) {
Log.d("Permissions", "call - no permission :c");
CallFragment.this.requestPermissions(new String[] { Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA, Manifest.permission.VIBRATE, Manifest.permission.MODIFY_AUDIO_SETTINGS, Manifest.permission.WAKE_LOCK }, PERMISSIONS_REQUEST_FOR_CALL);
}
audioManager = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE);
audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
speaker = (TintImageView) cont.findViewById(R.id.speaker);
speaker.setResource(R.drawable.ic_volume_up_white_24dp);
speakerTV = (TextView) cont.findViewById(R.id.speaker_tv);
cont.findViewById(R.id.speaker_btn).setOnClickListener(v1 -> toggleSpeaker(speaker, speakerTV));
checkSpeaker(speaker, speakerTV);
muteCall = (TintImageView) cont.findViewById(R.id.mute);
muteCallTv = (TextView) cont.findViewById(R.id.mute_tv);
muteCall.setResource(R.drawable.ic_mic_off_white_24dp);
cont.findViewById(R.id.mute_btn).setOnClickListener(v1 -> messenger().toggleCallMute(callId));
videoIcon = (TintImageView) cont.findViewById(R.id.video);
videoIcon.setResource(R.drawable.ic_videocam_white_24dp);
videoTv = (TextView) cont.findViewById(R.id.video_tv);
videoTv.setTextColor(getResources().getColor(R.color.picker_grey));
videoIcon.setTint(getResources().getColor(R.color.picker_grey));
cont.findViewById(R.id.video_btn).setOnClickListener(v1 -> messenger().toggleVideoEnabled(callId));
final TintImageView back = (TintImageView) cont.findViewById(R.id.back);
back.setResource(R.drawable.ic_message_white_24dp);
cont.findViewById(R.id.back_btn).setOnClickListener(v1 -> getActivity().startActivity(Intents.openDialog(peer, false, getActivity())));
final TintImageView add = (TintImageView) cont.findViewById(R.id.add);
add.setResource(R.drawable.ic_person_add_white_24dp);
TextView addTv = (TextView) cont.findViewById(R.id.add_user_tv);
addTv.setTextColor(getResources().getColor(R.color.picker_grey));
add.setTint(getResources().getColor(R.color.picker_grey));
if (peer.getPeerType() == PeerType.PRIVATE) {
eglContext = EglBase.create();
remoteVideoView = (SurfaceViewRenderer) cont.findViewById(R.id.remote_renderer);
localVideoView = new SurfaceViewRenderer(getActivity()) {
private boolean aspectFixed = false;
@Override
public void renderFrame(VideoRenderer.I420Frame frame) {
if (!aspectFixed) {
aspectFixed = true;
int maxWH = Screen.getWidth() / 3 - Screen.dp(20);
float scale = Math.min(maxWH / (float) frame.width, maxWH / (float) frame.height);
int destW = (int) (scale * frame.width);
int destH = (int) (scale * frame.height);
boolean turned = frame.rotationDegree % 90 % 2 == 0;
localVideoView.post(new Runnable() {
@Override
public void run() {
localVideoView.getLayoutParams().height = turned ? destW : destH;
localVideoView.getLayoutParams().width = turned ? destH : destW;
}
});
}
super.renderFrame(frame);
}
};
localVideoView.setVisibility(View.INVISIBLE);
localVideoView.setZOrderMediaOverlay(true);
localVideoView.setOnTouchListener((v1, event) -> {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
dX = localVideoView.getX() - event.getRawX();
dY = localVideoView.getY() - event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
localVideoView.animate().x(event.getRawX() + dX).y(event.getRawY() + dY).setDuration(0).start();
default:
return false;
}
return true;
});
int margin = Screen.dp(20);
int localVideoWidth = Screen.getWidth() / 3 - margin;
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(localVideoWidth, Math.round(localVideoWidth / 1.5f), Gravity.TOP | Gravity.LEFT);
int statusBarHeight = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
statusBarHeight = getResources().getDimensionPixelSize(resourceId);
}
params.setMargins(margin, margin + statusBarHeight, 0, 0);
cont.addView(localVideoView, params);
} else {
if (call != null) {
if (call.getIsVideoEnabled().get()) {
messenger().toggleVideoEnabled(callId);
}
}
}
return cont;
}
use of android.graphics.drawable.GradientDrawable in project actor-platform by actorapp.
the class SelectorFactory method get.
public static StateListDrawable get(int color, Context context) {
GradientDrawable bg = (GradientDrawable) context.getResources().getDrawable(R.drawable.btn_bg);
bg.setColor(color);
GradientDrawable bgPressed = (GradientDrawable) context.getResources().getDrawable(R.drawable.btn_bg_pressed);
bgPressed.setColor(ActorStyle.getDarkenArgb(color, 0.95));
StateListDrawable states = new StateListDrawable();
states.addState(new int[] { android.R.attr.state_pressed }, bgPressed);
states.addState(StateSet.WILD_CARD, bg);
return states;
}
use of android.graphics.drawable.GradientDrawable in project material-dialogs by afollestad.
the class DialogInit method init.
@SuppressWarnings("ConstantConditions")
@UiThread
public static void init(final MaterialDialog dialog) {
final MaterialDialog.Builder builder = dialog.builder;
// Set cancelable flag and dialog background color
dialog.setCancelable(builder.cancelable);
dialog.setCanceledOnTouchOutside(builder.canceledOnTouchOutside);
if (builder.backgroundColor == 0) {
builder.backgroundColor = DialogUtils.resolveColor(builder.context, R.attr.md_background_color, DialogUtils.resolveColor(dialog.getContext(), R.attr.colorBackgroundFloating));
}
if (builder.backgroundColor != 0) {
GradientDrawable drawable = new GradientDrawable();
drawable.setCornerRadius(builder.context.getResources().getDimension(R.dimen.md_bg_corner_radius));
drawable.setColor(builder.backgroundColor);
dialog.getWindow().setBackgroundDrawable(drawable);
}
// Retrieve color theme attributes
if (!builder.positiveColorSet) {
builder.positiveColor = DialogUtils.resolveActionTextColorStateList(builder.context, R.attr.md_positive_color, builder.positiveColor);
}
if (!builder.neutralColorSet) {
builder.neutralColor = DialogUtils.resolveActionTextColorStateList(builder.context, R.attr.md_neutral_color, builder.neutralColor);
}
if (!builder.negativeColorSet) {
builder.negativeColor = DialogUtils.resolveActionTextColorStateList(builder.context, R.attr.md_negative_color, builder.negativeColor);
}
if (!builder.widgetColorSet) {
builder.widgetColor = DialogUtils.resolveColor(builder.context, R.attr.md_widget_color, builder.widgetColor);
}
// Retrieve default title/content colors
if (!builder.titleColorSet) {
final int titleColorFallback = DialogUtils.resolveColor(dialog.getContext(), android.R.attr.textColorPrimary);
builder.titleColor = DialogUtils.resolveColor(builder.context, R.attr.md_title_color, titleColorFallback);
}
if (!builder.contentColorSet) {
final int contentColorFallback = DialogUtils.resolveColor(dialog.getContext(), android.R.attr.textColorSecondary);
builder.contentColor = DialogUtils.resolveColor(builder.context, R.attr.md_content_color, contentColorFallback);
}
if (!builder.itemColorSet) {
builder.itemColor = DialogUtils.resolveColor(builder.context, R.attr.md_item_color, builder.contentColor);
}
// Retrieve references to views
dialog.title = (TextView) dialog.view.findViewById(R.id.md_title);
dialog.icon = (ImageView) dialog.view.findViewById(R.id.md_icon);
dialog.titleFrame = dialog.view.findViewById(R.id.md_titleFrame);
dialog.content = (TextView) dialog.view.findViewById(R.id.md_content);
dialog.recyclerView = (RecyclerView) dialog.view.findViewById(R.id.md_contentRecyclerView);
dialog.checkBoxPrompt = (CheckBox) dialog.view.findViewById(R.id.md_promptCheckbox);
// Button views initially used by checkIfStackingNeeded()
dialog.positiveButton = (MDButton) dialog.view.findViewById(R.id.md_buttonDefaultPositive);
dialog.neutralButton = (MDButton) dialog.view.findViewById(R.id.md_buttonDefaultNeutral);
dialog.negativeButton = (MDButton) dialog.view.findViewById(R.id.md_buttonDefaultNegative);
// Don't allow the submit button to not be shown for input dialogs
if (builder.inputCallback != null && builder.positiveText == null) {
builder.positiveText = builder.context.getText(android.R.string.ok);
}
// Set up the initial visibility of action buttons based on whether or not text was set
dialog.positiveButton.setVisibility(builder.positiveText != null ? View.VISIBLE : View.GONE);
dialog.neutralButton.setVisibility(builder.neutralText != null ? View.VISIBLE : View.GONE);
dialog.negativeButton.setVisibility(builder.negativeText != null ? View.VISIBLE : View.GONE);
// Set up the focus of action buttons
dialog.positiveButton.setFocusable(true);
dialog.neutralButton.setFocusable(true);
dialog.negativeButton.setFocusable(true);
if (builder.positiveFocus) {
dialog.positiveButton.requestFocus();
}
if (builder.neutralFocus) {
dialog.neutralButton.requestFocus();
}
if (builder.negativeFocus) {
dialog.negativeButton.requestFocus();
}
// Setup icon
if (builder.icon != null) {
dialog.icon.setVisibility(View.VISIBLE);
dialog.icon.setImageDrawable(builder.icon);
} else {
Drawable d = DialogUtils.resolveDrawable(builder.context, R.attr.md_icon);
if (d != null) {
dialog.icon.setVisibility(View.VISIBLE);
dialog.icon.setImageDrawable(d);
} else {
dialog.icon.setVisibility(View.GONE);
}
}
// Setup icon size limiting
int maxIconSize = builder.maxIconSize;
if (maxIconSize == -1) {
maxIconSize = DialogUtils.resolveDimension(builder.context, R.attr.md_icon_max_size);
}
if (builder.limitIconToDefaultSize || DialogUtils.resolveBoolean(builder.context, R.attr.md_icon_limit_icon_to_default_size)) {
maxIconSize = builder.context.getResources().getDimensionPixelSize(R.dimen.md_icon_max_size);
}
if (maxIconSize > -1) {
dialog.icon.setAdjustViewBounds(true);
dialog.icon.setMaxHeight(maxIconSize);
dialog.icon.setMaxWidth(maxIconSize);
dialog.icon.requestLayout();
}
// Setup divider color in case content scrolls
if (!builder.dividerColorSet) {
final int dividerFallback = DialogUtils.resolveColor(dialog.getContext(), R.attr.md_divider);
builder.dividerColor = DialogUtils.resolveColor(builder.context, R.attr.md_divider_color, dividerFallback);
}
dialog.view.setDividerColor(builder.dividerColor);
// Setup title and title frame
if (dialog.title != null) {
dialog.setTypeface(dialog.title, builder.mediumFont);
dialog.title.setTextColor(builder.titleColor);
dialog.title.setGravity(builder.titleGravity.getGravityInt());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
//noinspection ResourceType
dialog.title.setTextAlignment(builder.titleGravity.getTextAlignment());
}
if (builder.title == null) {
dialog.titleFrame.setVisibility(View.GONE);
} else {
dialog.title.setText(builder.title);
dialog.titleFrame.setVisibility(View.VISIBLE);
}
}
// Setup content
if (dialog.content != null) {
dialog.content.setMovementMethod(new LinkMovementMethod());
dialog.setTypeface(dialog.content, builder.regularFont);
dialog.content.setLineSpacing(0f, builder.contentLineSpacingMultiplier);
if (builder.linkColor == null) {
dialog.content.setLinkTextColor(DialogUtils.resolveColor(dialog.getContext(), android.R.attr.textColorPrimary));
} else {
dialog.content.setLinkTextColor(builder.linkColor);
}
dialog.content.setTextColor(builder.contentColor);
dialog.content.setGravity(builder.contentGravity.getGravityInt());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
//noinspection ResourceType
dialog.content.setTextAlignment(builder.contentGravity.getTextAlignment());
}
if (builder.content != null) {
dialog.content.setText(builder.content);
dialog.content.setVisibility(View.VISIBLE);
} else {
dialog.content.setVisibility(View.GONE);
}
}
// Setup prompt checkbox
if (dialog.checkBoxPrompt != null) {
dialog.checkBoxPrompt.setText(builder.checkBoxPrompt);
dialog.checkBoxPrompt.setChecked(builder.checkBoxPromptInitiallyChecked);
dialog.checkBoxPrompt.setOnCheckedChangeListener(builder.checkBoxPromptListener);
dialog.setTypeface(dialog.checkBoxPrompt, builder.regularFont);
dialog.checkBoxPrompt.setTextColor(builder.contentColor);
MDTintHelper.setTint(dialog.checkBoxPrompt, builder.widgetColor);
}
// Setup action buttons
dialog.view.setButtonGravity(builder.buttonsGravity);
dialog.view.setButtonStackedGravity(builder.btnStackedGravity);
dialog.view.setStackingBehavior(builder.stackingBehavior);
boolean textAllCaps;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
textAllCaps = DialogUtils.resolveBoolean(builder.context, android.R.attr.textAllCaps, true);
if (textAllCaps) {
textAllCaps = DialogUtils.resolveBoolean(builder.context, R.attr.textAllCaps, true);
}
} else {
textAllCaps = DialogUtils.resolveBoolean(builder.context, R.attr.textAllCaps, true);
}
MDButton positiveTextView = dialog.positiveButton;
dialog.setTypeface(positiveTextView, builder.mediumFont);
positiveTextView.setAllCapsCompat(textAllCaps);
positiveTextView.setText(builder.positiveText);
positiveTextView.setTextColor(builder.positiveColor);
dialog.positiveButton.setStackedSelector(dialog.getButtonSelector(DialogAction.POSITIVE, true));
dialog.positiveButton.setDefaultSelector(dialog.getButtonSelector(DialogAction.POSITIVE, false));
dialog.positiveButton.setTag(DialogAction.POSITIVE);
dialog.positiveButton.setOnClickListener(dialog);
dialog.positiveButton.setVisibility(View.VISIBLE);
MDButton negativeTextView = dialog.negativeButton;
dialog.setTypeface(negativeTextView, builder.mediumFont);
negativeTextView.setAllCapsCompat(textAllCaps);
negativeTextView.setText(builder.negativeText);
negativeTextView.setTextColor(builder.negativeColor);
dialog.negativeButton.setStackedSelector(dialog.getButtonSelector(DialogAction.NEGATIVE, true));
dialog.negativeButton.setDefaultSelector(dialog.getButtonSelector(DialogAction.NEGATIVE, false));
dialog.negativeButton.setTag(DialogAction.NEGATIVE);
dialog.negativeButton.setOnClickListener(dialog);
dialog.negativeButton.setVisibility(View.VISIBLE);
MDButton neutralTextView = dialog.neutralButton;
dialog.setTypeface(neutralTextView, builder.mediumFont);
neutralTextView.setAllCapsCompat(textAllCaps);
neutralTextView.setText(builder.neutralText);
neutralTextView.setTextColor(builder.neutralColor);
dialog.neutralButton.setStackedSelector(dialog.getButtonSelector(DialogAction.NEUTRAL, true));
dialog.neutralButton.setDefaultSelector(dialog.getButtonSelector(DialogAction.NEUTRAL, false));
dialog.neutralButton.setTag(DialogAction.NEUTRAL);
dialog.neutralButton.setOnClickListener(dialog);
dialog.neutralButton.setVisibility(View.VISIBLE);
// Setup list dialog stuff
if (builder.listCallbackMultiChoice != null) {
dialog.selectedIndicesList = new ArrayList<>();
}
if (dialog.recyclerView != null) {
if (builder.adapter == null) {
// Determine list type
if (builder.listCallbackSingleChoice != null) {
dialog.listType = MaterialDialog.ListType.SINGLE;
} else if (builder.listCallbackMultiChoice != null) {
dialog.listType = MaterialDialog.ListType.MULTI;
if (builder.selectedIndices != null) {
dialog.selectedIndicesList = new ArrayList<>(Arrays.asList(builder.selectedIndices));
builder.selectedIndices = null;
}
} else {
dialog.listType = MaterialDialog.ListType.REGULAR;
}
builder.adapter = new DefaultRvAdapter(dialog, MaterialDialog.ListType.getLayoutForType(dialog.listType));
} else if (builder.adapter instanceof MDAdapter) {
// Notify simple list adapter of the dialog it belongs to
((MDAdapter) builder.adapter).setDialog(dialog);
}
}
// Setup progress dialog stuff if needed
setupProgressDialog(dialog);
// Setup input dialog stuff if needed
setupInputDialog(dialog);
// Setup custom views
if (builder.customView != null) {
((MDRootLayout) dialog.view.findViewById(R.id.md_root)).noTitleNoPadding();
FrameLayout frame = (FrameLayout) dialog.view.findViewById(R.id.md_customViewFrame);
dialog.customViewFrame = frame;
View innerView = builder.customView;
if (innerView.getParent() != null) {
((ViewGroup) innerView.getParent()).removeView(innerView);
}
if (builder.wrapCustomViewInScroll) {
/* Apply the frame padding to the content, this allows the ScrollView to draw it's
over scroll glow without clipping */
final Resources r = dialog.getContext().getResources();
final int framePadding = r.getDimensionPixelSize(R.dimen.md_dialog_frame_margin);
final ScrollView sv = new ScrollView(dialog.getContext());
int paddingTop = r.getDimensionPixelSize(R.dimen.md_content_padding_top);
int paddingBottom = r.getDimensionPixelSize(R.dimen.md_content_padding_bottom);
sv.setClipToPadding(false);
if (innerView instanceof EditText) {
// Setting padding to an EditText causes visual errors, set it to the parent instead
sv.setPadding(framePadding, paddingTop, framePadding, paddingBottom);
} else {
// Setting padding to scroll view pushes the scroll bars out, don't do it if not necessary (like above)
sv.setPadding(0, paddingTop, 0, paddingBottom);
innerView.setPadding(framePadding, 0, framePadding, 0);
}
sv.addView(innerView, new ScrollView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
innerView = sv;
}
frame.addView(innerView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
// Setup user listeners
if (builder.showListener != null) {
dialog.setOnShowListener(builder.showListener);
}
if (builder.cancelListener != null) {
dialog.setOnCancelListener(builder.cancelListener);
}
if (builder.dismissListener != null) {
dialog.setOnDismissListener(builder.dismissListener);
}
if (builder.keyListener != null) {
dialog.setOnKeyListener(builder.keyListener);
}
// Setup internal show listener
dialog.setOnShowListenerInternal();
// Other internal initialization
dialog.invalidateList();
dialog.setViewInternal(dialog.view);
dialog.checkIfListInitScroll();
// Min height and max width calculations
WindowManager wm = dialog.getWindow().getWindowManager();
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
final int windowWidth = size.x;
final int windowHeight = size.y;
final int windowVerticalPadding = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_vertical_margin);
final int windowHorizontalPadding = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_horizontal_margin);
final int maxWidth = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_max_width);
final int calculatedWidth = windowWidth - (windowHorizontalPadding * 2);
dialog.view.setMaxHeight(windowHeight - windowVerticalPadding * 2);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = Math.min(maxWidth, calculatedWidth);
dialog.getWindow().setAttributes(lp);
}
use of android.graphics.drawable.GradientDrawable in project superCleanMaster by joyoyao.
the class RoundCornerProgressBar method setBackgroundColor.
@SuppressWarnings("deprecation")
@SuppressLint("NewApi")
public void setBackgroundColor(int color) {
backgroundColor = color;
GradientDrawable gradient = new GradientDrawable();
gradient.setShape(GradientDrawable.RECTANGLE);
gradient.setColor(backgroundColor);
gradient.setCornerRadius(radius);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
layoutBackground.setBackgroundDrawable(gradient);
} else {
layoutBackground.setBackground(gradient);
}
if (!isProgressBarCreated) {
isBackgroundColorSetBeforeDraw = true;
}
}
use of android.graphics.drawable.GradientDrawable in project superCleanMaster by joyoyao.
the class TextRoundCornerProgressBar method setProgressColor.
@SuppressWarnings("deprecation")
@SuppressLint("NewApi")
public void setProgressColor(int color) {
progressColor = color;
int radius = this.radius - (padding / 2);
GradientDrawable gradient = new GradientDrawable();
gradient.setShape(GradientDrawable.RECTANGLE);
gradient.setColor(progressColor);
gradient.setCornerRadii(new float[] { radius, radius, radius, radius, radius, radius, radius, radius });
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
layoutProgress.setBackground(gradient);
} else {
layoutProgress.setBackgroundDrawable(gradient);
}
if (!isProgressBarCreated) {
isProgressColorSetBeforeDraw = true;
}
}
Aggregations