made hook and added images for theme toggle animation
@@ -0,0 +1,17 @@
|
||||
package ru.vtosters.lite.hooks;
|
||||
|
||||
import com.vk.extensions.ViewExtKt;
|
||||
import com.vk.navigation.right.RightMenuPresenter;
|
||||
|
||||
import ru.vtosters.lite.ui.views.VTLCheckableButton;
|
||||
|
||||
public class DayNightButtonHook {
|
||||
|
||||
public static void injectOnClick(VTLCheckableButton button, RightMenuPresenter presenter) {
|
||||
button.postOnAnimationDelayed(() -> {
|
||||
var rect = ViewExtKt.e(button);
|
||||
presenter.a(new float[] { rect.centerX(), rect.centerY() });
|
||||
}, 550); // minimal delay for fix toggle animation
|
||||
button.toggle();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package ru.vtosters.lite.ui.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.Checkable;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatImageButton;
|
||||
|
||||
public class VTLCheckableButton extends AppCompatImageButton implements Checkable {
|
||||
|
||||
private boolean mIsChecked;
|
||||
|
||||
public VTLCheckableButton(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public VTLCheckableButton(Context context, AttributeSet attributeSet) {
|
||||
super(context, attributeSet);
|
||||
}
|
||||
|
||||
public VTLCheckableButton(Context context, AttributeSet attributeSet, int i) {
|
||||
super(context, attributeSet, i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Parcelable onSaveInstanceState() {
|
||||
var state = new CustomState(super.onSaveInstanceState());
|
||||
state.setChecked(mIsChecked);
|
||||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRestoreInstanceState(Parcelable state) {
|
||||
if (state instanceof CustomState) {
|
||||
var customState = ((CustomState) state);
|
||||
super.onRestoreInstanceState(customState.getSuperState());
|
||||
mIsChecked = customState.isChecked();
|
||||
return;
|
||||
}
|
||||
super.onRestoreInstanceState(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return this.mIsChecked;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChecked(boolean checked) {
|
||||
mIsChecked = checked;
|
||||
refreshDrawableState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] onCreateDrawableState(int extraSpace) {
|
||||
return mIsChecked
|
||||
? View.mergeDrawableStates(super.onCreateDrawableState(extraSpace + 1), new int[] { android.R.attr.state_checked })
|
||||
: super.onCreateDrawableState(extraSpace);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toggle() {
|
||||
setChecked(!mIsChecked);
|
||||
}
|
||||
|
||||
static class CustomState extends View.BaseSavedState {
|
||||
private boolean checked;
|
||||
|
||||
public CustomState(Parcelable source) {
|
||||
super(source);
|
||||
}
|
||||
|
||||
public CustomState(Parcel source) {
|
||||
super(source);
|
||||
checked = source.readInt() != 0;
|
||||
}
|
||||
|
||||
public boolean isChecked() {
|
||||
return checked;
|
||||
}
|
||||
|
||||
public void setChecked(boolean checked) {
|
||||
this.checked = checked;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel out, int flags) {
|
||||
super.writeToParcel(out, flags);
|
||||
out.writeInt(checked ? 1 : 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.ColorRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.Px;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.vk.core.dialogs.actionspopup.ActionsPopup;
|
||||
import com.vk.core.dialogs.adapter.ModalAdapter;
|
||||
|
||||
public class VKUIActionPopup {
|
||||
|
||||
private final ActionsPopup.b mLocalBuilder;
|
||||
|
||||
public VKUIActionPopup(Context context, View anchorView, boolean anchor, @ColorRes int color) {
|
||||
this.mLocalBuilder = new ActionsPopup.b(anchorView, anchor, color).a(context);
|
||||
}
|
||||
|
||||
public VKUIActionPopup setItem(String title, @Nullable Drawable icon, boolean z, onClickListener clickListener) {
|
||||
mLocalBuilder.a(title, icon, z, () -> {
|
||||
clickListener.onClick();
|
||||
return null;
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUIActionPopup setItem(String title, @Nullable Drawable icon, onClickListener clickListener) {
|
||||
return setItem(title, icon, false, clickListener);
|
||||
}
|
||||
|
||||
public VKUIActionPopup setItem(String title, onClickListener clickListener) {
|
||||
return setItem(title, null, false, clickListener);
|
||||
}
|
||||
|
||||
public VKUIActionPopup setActionCheckIcon(Drawable actionCheckItem) {
|
||||
mLocalBuilder.a(actionCheckItem);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUIActionPopup setMaxWidth(@Px int maxWidth) {
|
||||
mLocalBuilder.a(Integer.valueOf(maxWidth));
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUIActionPopup setAdapter(ModalAdapter adapter) {
|
||||
mLocalBuilder.a((ModalAdapter<Object>) adapter);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUIActionPopup setAdapter(RecyclerView.Adapter adapter) {
|
||||
mLocalBuilder.a(adapter);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ActionsPopup create() {
|
||||
return mLocalBuilder.a();
|
||||
}
|
||||
|
||||
public ActionsPopup create(boolean cancel) {
|
||||
return mLocalBuilder.a(cancel);
|
||||
}
|
||||
|
||||
public interface onClickListener {
|
||||
void onClick();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.vtosters.lite.R;
|
||||
|
||||
public class VKUIButton extends TextView /*Yes, yes, it's TextView*/ {
|
||||
|
||||
public static final int STYLE_PRIMARY = R.style.VKUIButton_Primary;
|
||||
public static final int STYLE_PRIMARY_ROUNDED = R.style.VKUIButton_Primary_Rounded;
|
||||
public static final int STYLE_PRIMARY_SMALL = R.style.VKUIButton_Primary_Small;
|
||||
public static final int STYLE_PRIMARY_SMALL_FLAT = R.style.VKUIButton_Primary_Small_Flat;
|
||||
public static final int STYLE_PRIMARY_MEDIUM = R.style.VKUIButton_Primary_Medium;
|
||||
public static final int STYLE_PRIMARY_BIG = R.style.VKUIButton_Primary_Big;
|
||||
public static final int STYLE_SECONDARY = R.style.VKUIButton_Secondary;
|
||||
public static final int STYLE_SECONDARY_ROUNDED = R.style.VKUIButton_Secondary_Rounded;
|
||||
public static final int STYLE_SECONDARY_SMALL = R.style.VKUIButton_Secondary_Small;
|
||||
public static final int STYLE_SECONDARY_SMALL_FLAT = R.style.VKUIButton_Secondary_Small_Flat;
|
||||
public static final int STYLE_SECONDARY_MEDIUM = R.style.VKUIButton_Secondary_Medium;
|
||||
public static final int STYLE_SECONDARY_BIG = R.style.VKUIButton_Secondary_Big;
|
||||
public static final int STYLE_MUTED = R.style.VKUIButton_Muted;
|
||||
public static final int STYLE_MUTED_ROUNDED = R.style.VKUIButton_Muted_Rounded;
|
||||
public static final int STYLE_TERTIARY = R.style.VKUIButton_Tertiary;
|
||||
public static final int STYLE_TERTIARY_ROUNDED = R.style.VKUIButton_Tertiary_Rounded;
|
||||
public static final int STYLE_OUTLINE = R.style.VKUIButton_Outline;
|
||||
public static final int STYLE_OUTLINE_WHITE = R.style.VKUIButton_Outline_White;
|
||||
public static final int STYLE_GREEN = R.style.VKUIButton_Green;
|
||||
public static final int STYLE_COMMERCE = STYLE_GREEN;
|
||||
public static final int STYLE_FLAT = R.style.VKUIButton_Flat;
|
||||
public static final int STYLE_WHITE = R.style.VKUIButton_White;
|
||||
public static final int STYLE_MEDIA_OVERLAY = R.style.VKUIButton_MediaOverlay;
|
||||
public static final int STYLE_SELECTABLE = R.style.VKUIButton_Selectable;
|
||||
public static final int STYLE_SELECTABLE_FLAT = R.style.VKUIButton_Selectable_Flat;
|
||||
|
||||
public VKUIButton(Context context) {
|
||||
this(context, STYLE_PRIMARY);
|
||||
}
|
||||
|
||||
public VKUIButton(Context context, int style) {
|
||||
super(new ContextThemeWrapper(context, style));
|
||||
}
|
||||
|
||||
public VKUIButton(Context context, @Nullable AttributeSet attrs) {
|
||||
super(new ContextThemeWrapper(context, STYLE_PRIMARY), attrs);
|
||||
}
|
||||
|
||||
public VKUIButton(Context context, @Nullable AttributeSet attrs, int style) {
|
||||
super(new ContextThemeWrapper(context, style), attrs);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
public class VKUICheckBox extends CheckBox {
|
||||
|
||||
public VKUICheckBox(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public VKUICheckBox(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public VKUICheckBox(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
public VKUICheckBox(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.EditText;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.vk.core.drawable.VkUiDrawableHelper;
|
||||
import com.vk.core.ui.themes.VKThemeHelper;
|
||||
import com.vtosters.lite.R;
|
||||
|
||||
import ru.vtosters.lite.res.VTLColors;
|
||||
|
||||
public class VKUIEditText extends EditText {
|
||||
|
||||
public VKUIEditText(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public VKUIEditText(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public VKUIEditText(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
public VKUIEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
var fieldBackground = VKThemeHelper.d(R.attr.field_background);
|
||||
var drawable = VkUiDrawableHelper.c.a(getContext(), fieldBackground, fieldBackground, VTLColors.getAccentColor(), fieldBackground);
|
||||
setBackground(drawable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setBackground(Drawable background) {
|
||||
super.setBackground(background);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setBackgroundColor(int color) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setBackgroundResource(int resid) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCursorVisible(boolean visible) {
|
||||
super.setCursorVisible(visible);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Drawable getTextCursorDrawable() {
|
||||
return super.getTextCursorDrawable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTextCursorDrawable(int textCursorDrawable) {
|
||||
super.setTextCursorDrawable(textCursorDrawable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTextCursorDrawable(@Nullable Drawable textCursorDrawable) {
|
||||
super.setTextCursorDrawable(textCursorDrawable);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ContextThemeWrapper;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatRadioButton;
|
||||
|
||||
public class VKUIRadioCheckbox extends AppCompatRadioButton {
|
||||
|
||||
public VKUIRadioCheckbox(Context context) {
|
||||
super(new ContextThemeWrapper(context, android.R.style.Widget_CompoundButton_RadioButton));
|
||||
}
|
||||
|
||||
public VKUIRadioCheckbox(Context context, AttributeSet attributeSet) {
|
||||
super(new ContextThemeWrapper(context, android.R.style.Widget_CompoundButton_RadioButton), attributeSet);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.vk.core.dialogs.snackbar.VkSnackbar;
|
||||
|
||||
public class VKUISnackbar {
|
||||
private VkSnackbar.a mLocalBuilder;
|
||||
|
||||
public VKUISnackbar(Context context, boolean darkMode) {
|
||||
this.mLocalBuilder = new VkSnackbar.a(context, darkMode);
|
||||
}
|
||||
|
||||
public VKUISnackbar setIcon(Drawable icon) {
|
||||
mLocalBuilder.a(icon);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setIcon(@DrawableRes int iconId) {
|
||||
mLocalBuilder.b(iconId);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setMessage(String message) {
|
||||
mLocalBuilder.a((CharSequence) message);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setMessage(@StringRes int resId) {
|
||||
mLocalBuilder.a(resId);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setShowTime(long time) {
|
||||
mLocalBuilder.a(time);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setView(View anchorView) {
|
||||
mLocalBuilder.a(anchorView);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setFragment(Fragment fragment) {
|
||||
mLocalBuilder.a(fragment);
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setActionButton(String text, OnClickListener clickListener) {
|
||||
mLocalBuilder.a(text, vkSnackbar -> {
|
||||
clickListener.onClick(vkSnackbar);
|
||||
return null;
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
public VKUISnackbar setActionButton(@StringRes int textId, OnClickListener clickListener) {
|
||||
mLocalBuilder.a(textId, vkSnackbar -> {
|
||||
clickListener.onClick(vkSnackbar);
|
||||
return null;
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
public VkSnackbar create() {
|
||||
return mLocalBuilder.d();
|
||||
}
|
||||
|
||||
public VkSnackbar create(Window window) {
|
||||
return mLocalBuilder.a(window);
|
||||
}
|
||||
|
||||
public interface OnClickListener {
|
||||
void onClick(VkSnackbar snackbar);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.vtosters.lite.R;
|
||||
|
||||
public class VKUITextView extends TextView {
|
||||
|
||||
public static final int STYLE_TITLE_1 = R.style.VKUIText_Title1;
|
||||
public static final int STYLE_TITLE_2 = R.style.VKUIText_Title2;
|
||||
public static final int STYLE_HEADLINE = R.style.VKUIText_Headline;
|
||||
public static final int STYLE_DEFAULT = R.style.VKUIText_Text;
|
||||
public static final int STYLE_SUBHEAD_1 = R.style.VKUIText_Subhead1;
|
||||
public static final int STYLE_SUBHEAD_2 = R.style.VKUIText_Subhead2;
|
||||
public static final int STYLE_CAPTION_1 = R.style.VKUIText_Caption1;
|
||||
public static final int STYLE_CAPTION_2 = R.style.VKUIText_Caption2;
|
||||
|
||||
public VKUITextView(Context context) {
|
||||
this(context, STYLE_DEFAULT);
|
||||
}
|
||||
|
||||
public VKUITextView(Context context, int style) {
|
||||
super(new ContextThemeWrapper(context, style));
|
||||
}
|
||||
|
||||
public VKUITextView(Context context, @Nullable AttributeSet attrs) {
|
||||
super(new ContextThemeWrapper(context, STYLE_DEFAULT), attrs);
|
||||
}
|
||||
|
||||
public VKUITextView(Context context, @Nullable AttributeSet attrs, int style) {
|
||||
super(new ContextThemeWrapper(context, style), attrs);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package ru.vtosters.lite.ui.vkui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.appcompat.widget.SwitchCompat;
|
||||
|
||||
import ru.vtosters.lite.utils.AndroidUtils;
|
||||
|
||||
public class VKUiSwitch extends SwitchCompat {
|
||||
|
||||
public VKUiSwitch(Context context) {
|
||||
super(context);
|
||||
setEllipsize(TextUtils.TruncateAt.END);
|
||||
setPadding(AndroidUtils.dp2px(8), AndroidUtils.dp2px(8), AndroidUtils.dp2px(8), AndroidUtils.dp2px(8));
|
||||
setTextSize(16.0f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setEllipsize(TextUtils.TruncateAt where) {
|
||||
super.setEllipsize(where);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="28dp"
|
||||
android:width="28dp"
|
||||
android:viewportWidth="28.0"
|
||||
android:viewportHeight="28.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M24.1662,15.6852C24.9586,15.4046 25.7226,16.1675 25.4431,16.9603C24.8744,18.5739 23.9978,20.0062 22.8112,21.1886C18.393,25.6068 11.2319,25.6061 6.8145,21.1888C2.3952,16.7721 2.3952,9.6093 6.8143,5.1906C7.9987,4.0061 9.4314,3.1289 11.0417,2.5592C11.8346,2.2787 12.5985,3.0428 12.3179,3.8357C11.1241,7.2082 11.9241,10.9693 14.4782,13.5252C17.0322,16.0787 20.7953,16.879 24.1662,15.6852ZM13.064,14.9394C10.4879,12.3616 9.3792,8.777 9.9012,5.2958C9.2915,5.6653 8.7316,6.1016 8.2284,6.6048C4.5906,10.2424 4.5906,16.1386 8.2285,19.7744C11.8651,23.4109 17.7599,23.4115 21.3982,19.7731C21.9025,19.2706 22.339,18.7114 22.7083,18.1016C19.227,18.6242 15.6403,17.5154 13.064,14.9394Z"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeWidth="1.0"
|
||||
android:fillType="nonZero" />
|
||||
</vector>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="28dp"
|
||||
android:width="28dp"
|
||||
android:viewportWidth="28.0"
|
||||
android:viewportHeight="28.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m15,2c0,-0.5523 -0.4477,-1 -1,-1s-1,0.4477 -1,1v3c0,0.5523 0.4477,1 1,1s1,-0.4477 1,-1z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m15,23c0,-0.5523 -0.4477,-1 -1,-1s-1,0.4477 -1,1v3c0,0.5523 0.4477,1 1,1s1,-0.4477 1,-1z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m23.8923,20.866c0.4783,0.2762 1.0899,0.1123 1.366,-0.366 0.2762,-0.4783 0.1123,-1.0899 -0.366,-1.366l-2.5981,-1.5c-0.4782,-0.2762 -1.0898,-0.1123 -1.366,0.366 -0.2761,0.4783 -0.1122,1.0899 0.366,1.366z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m5.7058,10.366c0.4783,0.2762 1.0899,0.1123 1.366,-0.366 0.2761,-0.4783 0.1123,-1.0899 -0.366,-1.366l-2.5981,-1.5c-0.4783,-0.2761 -1.0899,-0.1123 -1.366,0.366s-0.1123,1.0899 0.366,1.366z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m2.7417,20.5c-0.2761,-0.4783 -0.1123,-1.0899 0.366,-1.366l2.5981,-1.5c0.4783,-0.2762 1.0899,-0.1123 1.366,0.366s0.1123,1.0899 -0.366,1.366l-2.5981,1.5c-0.4783,0.2762 -1.0899,0.1123 -1.366,-0.366z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m20.9282,10c-0.2761,-0.4783 -0.1122,-1.0899 0.366,-1.366l2.5981,-1.5c0.4783,-0.2761 1.0899,-0.1123 1.366,0.366 0.2762,0.4783 0.1123,1.0899 -0.366,1.366l-2.5981,1.5c-0.4782,0.2762 -1.0898,0.1123 -1.366,-0.366z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m14,8.0313c-3.2964,0 -5.9688,2.6723 -5.9688,5.9688s2.6723,5.9688 5.9688,5.9688 5.9688,-2.6724 5.9688,-5.9688 -2.6724,-5.9688 -5.9688,-5.9688zM9.9922,14c0,-2.3546 1.6532,-4.0078 4.0078,-4.0078s4.0156,1.6532 4.0156,4.0078 -1.661,4 -4.0156,4 -4.0078,-1.6454 -4.0078,-4z"
|
||||
android:fillType="evenOdd" />
|
||||
</vector>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 578 B |
|
After Width: | Height: | Size: 549 B |
|
After Width: | Height: | Size: 356 B |
|
After Width: | Height: | Size: 727 B |
|
After Width: | Height: | Size: 369 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 732 B |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:name="moon_to_sun_animation"
|
||||
android:height="28dp"
|
||||
android:width="28dp"
|
||||
android:viewportWidth="28.0"
|
||||
android:viewportHeight="28.0">
|
||||
<group
|
||||
android:name="corepath"
|
||||
android:pivotX="14.0"
|
||||
android:pivotY="14.0"
|
||||
android:rotation="-180.0">
|
||||
<path
|
||||
android:name="1"
|
||||
android:pathData="M 14 5 L 14 2"
|
||||
android:strokeColor="#FF979797"
|
||||
android:trimPathStart="0.5"
|
||||
android:trimPathEnd="0.5"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeAlpha="0.0"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="2"
|
||||
android:pathData="M 21.794 9.5 L 24.392 8"
|
||||
android:strokeColor="#FF979797"
|
||||
android:trimPathStart="0.5"
|
||||
android:trimPathEnd="0.5"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeAlpha="0.0"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="3"
|
||||
android:pathData="M 21.794 18.5 L 24.392 20"
|
||||
android:strokeColor="#FF979797"
|
||||
android:trimPathStart="0.5"
|
||||
android:trimPathEnd="0.5"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeAlpha="0.0"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="4"
|
||||
android:pathData="M 14 26 L 14 23"
|
||||
android:strokeColor="#FF979797"
|
||||
android:trimPathStart="0.5"
|
||||
android:trimPathEnd="0.5"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeAlpha="0.0"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="5"
|
||||
android:pathData="M 3.608 20 L 6.206 18.5"
|
||||
android:strokeColor="#FF979797"
|
||||
android:trimPathStart="0.5"
|
||||
android:trimPathEnd="0.5"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeAlpha="0.0"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="6"
|
||||
android:pathData="M 3.608 8 L 6.206 9.5"
|
||||
android:strokeColor="#FF979797"
|
||||
android:trimPathStart="0.5"
|
||||
android:trimPathEnd="0.5"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeAlpha="0.0"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="mainpath"
|
||||
android:pathData="M 16.624 24.497 C 21 23 23.5 19 23.5 14.75 C 23.5 9.089 18.911 4.5 13.25 4.5 C 9 4.5 5 7 3.5 11.376 C 5.314 10.762 7.113 10.625 8.898 10.964 C 11.575 11.472 13.232 12.769 14.23 13.771 C 15.227 14.773 16.486 16.343 17.029 18.996 C 17.391 20.764 17.256 22.597 16.624 24.497 Z"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineJoin="round"
|
||||
android:fillType="evenOdd" />
|
||||
</group>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="M 16.624 24.497 C 21 23 23.5 19 23.5 14.75 C 23.5 9.089 18.911 4.5 13.25 4.5 C 9 4.5 5 7 3.5 11.376 C 5.314 10.762 7.113 10.625 8.898 10.964 C 11.575 11.472 13.232 12.769 14.23 13.771 C 15.227 14.773 16.486 16.343 17.029 18.996 C 17.391 20.764 17.256 22.597 16.624 24.497 Z"
|
||||
android:valueTo="M 14 19 C 16.761 19 19 16.761 19 14 C 19 11.239 16.761 9 14 9 C 11.239 9 9 11.239 9 14 C 9 14.724 9.154 15.413 9.431 16.034 C 9.682 16.597 10.034 17.105 10.465 17.536 C 10.895 17.966 11.403 18.318 11.965 18.569 C 12.587 18.846 13.275 19 14 19 Z"
|
||||
android:valueType="pathType"
|
||||
android:propertyName="pathData" />
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="-180"
|
||||
android:valueTo="-300"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="rotation" />
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="2"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="2"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="2"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="2"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="2"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0.5"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="2"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="200"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:name="sun_to_moon_animation"
|
||||
android:height="28dp"
|
||||
android:width="28dp"
|
||||
android:viewportWidth="28.0"
|
||||
android:viewportHeight="28.0">
|
||||
<group
|
||||
android:name="corepath"
|
||||
android:pivotX="14.0"
|
||||
android:pivotY="14.0">
|
||||
<path
|
||||
android:name="1"
|
||||
android:pathData="M 14 5 L 14 2"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineCap="round"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="2"
|
||||
android:pathData="M 21.794 9.5 L 24.392 8"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineCap="round"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="3"
|
||||
android:pathData="M 21.794 18.5 L 24.392 20"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineCap="round"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="4"
|
||||
android:pathData="M 14 26 L 14 23"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineCap="round"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="5"
|
||||
android:pathData="M 3.608 20 L 6.206 18.5"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineCap="round"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="6"
|
||||
android:pathData="M 3.608 8 L 6.206 9.5"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineCap="round"
|
||||
android:fillType="evenOdd" />
|
||||
<path
|
||||
android:name="mainpath"
|
||||
android:pathData="M 14 19 C 16.761 19 19 16.761 19 14 C 19 11.239 16.761 9 14 9 C 11.239 9 9 11.239 9 14 C 9 14.724 9.154 15.413 9.431 16.034 C 9.682 16.597 10.034 17.105 10.465 17.536 C 10.895 17.966 11.403 18.318 11.965 18.569 C 12.587 18.846 13.275 19 14 19 Z"
|
||||
android:strokeColor="#FF979797"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeLineJoin="round"
|
||||
android:fillType="evenOdd" />
|
||||
</group>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="M 14 19 C 16.761 19 19 16.761 19 14 C 19 11.239 16.761 9 14 9 C 11.239 9 9 11.239 9 14 C 9 14.724 9.154 15.413 9.431 16.034 C 9.682 16.597 10.034 17.105 10.465 17.536 C 10.895 17.966 11.403 18.318 11.965 18.569 C 12.587 18.846 13.275 19 14 19 Z"
|
||||
android:valueTo="M 16.624 24.497 C 21 23 23.5 19 23.5 14.75 C 23.5 9.089 18.911 4.5 13.25 4.5 C 9 4.5 5 7 3.5 11.376 C 5.314 10.762 7.113 10.625 8.898 10.964 C 11.575 11.472 13.232 12.769 14.23 13.771 C 15.227 14.773 16.486 16.343 17.029 18.996 C 17.391 20.764 17.256 22.597 16.624 24.497 Z"
|
||||
android:valueType="pathType"
|
||||
android:propertyName="pathData" />
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="-180"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="rotation" />
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="2"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="2"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="2"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="2"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="2"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathEnd" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="500"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.5"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="trimPathStart" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="2"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeWidth" />
|
||||
<objectAnimator
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:duration="400"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType"
|
||||
android:propertyName="strokeAlpha" />
|
||||
</set>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:drawable="@drawable/$vk_icon_animated_moon_to_sun__0">
|
||||
<target
|
||||
android:name="mainpath"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__1" />
|
||||
<target
|
||||
android:name="corepath"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__2" />
|
||||
<target
|
||||
android:name="1"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__3" />
|
||||
<target
|
||||
android:name="2"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__4" />
|
||||
<target
|
||||
android:name="3"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__5" />
|
||||
<target
|
||||
android:name="4"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__6" />
|
||||
<target
|
||||
android:name="5"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__7" />
|
||||
<target
|
||||
android:name="6"
|
||||
android:animation="@drawable/$vk_icon_animated_moon_to_sun__8" />
|
||||
</animated-vector>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:drawable="@drawable/$vk_icon_animated_sun_to_moon__0">
|
||||
<target
|
||||
android:name="mainpath"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__1" />
|
||||
<target
|
||||
android:name="corepath"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__2" />
|
||||
<target
|
||||
android:name="1"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__3" />
|
||||
<target
|
||||
android:name="2"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__4" />
|
||||
<target
|
||||
android:name="3"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__5" />
|
||||
<target
|
||||
android:name="4"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__6" />
|
||||
<target
|
||||
android:name="5"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__7" />
|
||||
<target
|
||||
android:name="6"
|
||||
android:animation="@drawable/$vk_icon_animated_sun_to_moon__8" />
|
||||
</animated-vector>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:state_checked="true"
|
||||
android:id="@id/checked"
|
||||
android:drawable="@drawable/vk_icon_sun_outline_28" />
|
||||
<item
|
||||
android:state_checked="false"
|
||||
android:id="@id/unchecked"
|
||||
android:drawable="@drawable/vk_icon_moon_outline_28" />
|
||||
<transition
|
||||
android:drawable="@drawable/vk_icon_animated_sun_to_moon"
|
||||
android:toId="@id/unchecked"
|
||||
android:fromId="@id/checked" />
|
||||
<transition
|
||||
android:drawable="@drawable/vk_icon_animated_moon_to_sun"
|
||||
android:toId="@id/checked"
|
||||
android:fromId="@id/unchecked" />
|
||||
</animated-selector>
|
||||
@@ -10900,6 +10900,14 @@
|
||||
<public name="zhukov" id="0x7f0a1005" type="id" />
|
||||
<public name="button_update" id="0x7f0a1006" type="id" />
|
||||
<public name="choose_btn" id="0x7f0a1007" type="id" />
|
||||
<public name="color_preview" id="0x7f0a1008" type="id" />
|
||||
<public name="color_name" id="0x7f0a1009" type="id" />
|
||||
<public name="color_value" id="0x7f0a100a" type="id" />
|
||||
<public name="color_preview_border" id="0x7f0a100b" type="id" />
|
||||
<public name="theme_mode_preview" id="0x7f0a100c" type="id" />
|
||||
<public name="theme_mode_preview_border" id="0x7f0a100d" type="id" />
|
||||
<public name="checked" id="0x7f0a100e" type="id" />
|
||||
<public name="unchecked" id="0x7f0a100f" type="id" />
|
||||
<public name="abc_config_activityDefaultDur" id="0x7f0b0000" type="integer" />
|
||||
<public name="abc_config_activityShortDur" id="0x7f0b0001" type="integer" />
|
||||
<public name="angle_rtl_180" id="0x7f0b0002" type="integer" />
|
||||
|
||||