完成通用弹窗开发,规整布局尺寸参数,简化吐槽代码

This commit is contained in:
raoqian 2025-09-18 18:36:06 +08:00
parent 058e46bae8
commit 3d6f03338c
72 changed files with 4264 additions and 560 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/.idea/

View File

@ -0,0 +1,59 @@
package com.jia.er.nebuluxe.app;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Shader;
import android.util.AttributeSet;
import androidx.appcompat.widget.AppCompatTextView;
public class TransColorTextView extends AppCompatTextView {
private int startColor;
private int endColor;
private int orientation = 1; // 0: vertical, 1: horizontal
public TransColorTextView(Context context) {
this(context, null);
}
public TransColorTextView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public TransColorTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.VerticalGradientTextView);
startColor = ta.getColor(R.styleable.VerticalGradientTextView_startColor, 0xFFFF4081);
endColor = ta.getColor(R.styleable.VerticalGradientTextView_endColor, 0xFF3F51B5);
orientation = ta.getInt(R.styleable.VerticalGradientTextView_gradientOrientation, 1);
ta.recycle();
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
updateShader(w, h);
}
Shader shader;
private void updateShader(int w, int h) {
if (orientation == 0) {
shader = new LinearGradient(0, 0, 0, h, startColor, endColor, Shader.TileMode.CLAMP);
} else {
shader = new LinearGradient(0, 0, w, 0, startColor, endColor, Shader.TileMode.CLAMP);
}
}
@Override
protected void onDraw(Canvas canvas) {
Paint paint = getPaint();
paint.setShader(shader);
super.onDraw(canvas);
}
}

View File

@ -0,0 +1,363 @@
package com.jia.er.nebuluxe.app.basics;
import static android.view.View.VISIBLE;
import android.app.AlertDialog;
import android.content.Context;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
import android.util.SparseIntArray;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.jia.er.nebuluxe.app.R;
/**
* 通用弹窗
*/
public class CommonDialog extends AlertDialog implements View.OnClickListener {
public static class Builder {
Context context;
int layoutId = R.layout.dialog_common;
SparseArray<CharSequence> showStr = new SparseArray<>();
SparseArray<CharSequence> btnStr = new SparseArray<>();
SparseIntArray iconRes = new SparseIntArray();
SparseArray<OnDialogInterface> clickId = new SparseArray<>();
OnDismissListener onDismissListener;
int specialId;
Object[] specialObj;
ViewDeal mViewDeal;
public Builder(Context context) {
this.context = context;
}
public Builder setContentView(int layout) {
this.layoutId = layout;
return this;
}
public Builder setObject(int layoutId, ViewDeal viewDeal, Object... bigSS) {
this.specialId = layoutId;
this.specialObj = bigSS;
this.mViewDeal = viewDeal;
return this;
}
public Builder addString(int layoutId, CharSequence show) {
this.showStr.put(layoutId, show);
return this;
}
public Builder title(String title) {
this.addString(R.id.dialog_title, title);
return this;
}
public Builder content(String title) {
this.addString(R.id.dialog_content, title);
return this;
}
public Builder centerIcon(int res) {
this.iconRes.put(R.id.dialog_iv, res);
return this;
}
public Builder confirmBtn(String title) {
this.addString(R.id.dialog_confirm, title);
return this;
}
public Builder cancelBtn(String title) {
this.addString(R.id.dialog_cancel, title);
return this;
}
public Builder addButton(int layoutId, String btnStr,
OnDialogInterface clickListener) {
this.btnStr.put(layoutId, btnStr);
this.clickId.put(layoutId, clickListener);
return this;
}
public Builder addOnClick(OnDialogInterface clickListener, int... layoutId) {
if (layoutId != null && layoutId.length > 0) {
for (int i : layoutId) {
this.clickId.put(i, clickListener);
}
}
return this;
}
public CommonDialog create() {
return new CommonDialog(this);
}
public Builder addDismissListener(OnDismissListener onDismissListener) {
this.onDismissListener = onDismissListener;
return this;
}
}
public void hideIcon() {
}
public interface ViewDeal {
void dealView(View viewPan, View viewById, Object[] specialObj, CommonDialog commonDialog);
}
public interface OnDialogInterface {
void onClick(CommonDialog commonDialog, int vId);
}
OnConfirmClickListener mOnConfirmClickListener;
Object clickData;
private View cancel;
private View confirm;
private View vLine;
private View vIcon;
public CommonDialog(@NonNull Builder builder) {
super(builder.context);
initBuilder(builder);
}
public CommonDialog(@NonNull Context activity) {
super(activity);
init(activity, null);
}
public CommonDialog(@NonNull Context activity, String res) {
super(activity);
init(activity, res);
}
public CommonDialog(@NonNull Context activity, String res, int layout) {
super(activity);
init(activity, res, layout);
this.isAutoSize = true;
}
View parent;
public String getInput(int viewId) {
try {
return ((EditText) findViewById(viewId)).getText().toString().trim();
} catch (Exception e) {
try {
return ((TextView) findViewById(viewId)).getText().toString().trim();
} catch (Exception e1) {
return "";
}
}
}
private CommonDialog init(final Context activity, String msg) {
return init(activity, msg, R.layout.dialog_common);
}
private CommonDialog initBuilder(final Builder builder) {
Log.e("CommonDialog", "init.48:");
parent = LayoutInflater.from(builder.context).inflate(builder.layoutId, null);
for (int i = 0; i < builder.showStr.size(); i++) {
TextView itemView = parent.findViewById(builder.showStr.keyAt(i));
if (itemView != null) {
itemView.setText(builder.showStr.get(builder.showStr.keyAt(i)));
}
}
for (int i = 0; i < builder.iconRes.size(); i++) {
View view = parent.findViewById(builder.iconRes.keyAt(i));
if (view instanceof ImageView) {
((ImageView) view).setImageResource(builder.iconRes.get(builder.iconRes.keyAt(i)));
view.setVisibility(VISIBLE);
} else if (view != null) {
view.setBackgroundResource(builder.iconRes.get(builder.iconRes.keyAt(i)));
view.setVisibility(VISIBLE);
}
}
for (int i = 0; i < builder.btnStr.size(); i++) {
try {
TextView itemView = parent.findViewById(builder.btnStr.keyAt(i));
if (itemView != null) {
if (TextUtils.isEmpty(builder.btnStr.get(builder.btnStr.keyAt(i)))) {
itemView.setVisibility(View.GONE);
} else {
itemView.setText(builder.btnStr.get(builder.btnStr.keyAt(i)));
}
}
} catch (Exception e) {
Log.e("CommonDialog", "暂时只支持TextView内容填充");
}
}
if (builder.mViewDeal != null && parent.findViewById(builder.specialId) != null) {
builder.mViewDeal.dealView(parent, parent.findViewById(builder.specialId), builder.specialObj, this);
}
for (int i = 0; i < builder.clickId.size(); i++) {
View itemView = parent.findViewById(builder.clickId.keyAt(i));
if (itemView != null) {
final int finalI = i;
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
builder.clickId.get(builder.clickId.keyAt(finalI))
.onClick(CommonDialog.this, v.getId());
}
});
}
}
if (builder.onDismissListener != null) {
setOnDismissListener(builder.onDismissListener);
}
initView(parent);
return this;
}
private CommonDialog init(final Context cet, String msg, int layout) {
parent = LayoutInflater.from(cet).inflate(layout, null);
initView(parent);
this.cancel = parent.findViewById(R.id.dialog_cancel);
this.confirm = parent.findViewById(R.id.dialog_confirm);
this.vLine = parent.findViewById(R.id.dialog_line);
this.vIcon = parent.findViewById(R.id.dialog_iv);
if (this.cancel != null) cancel.setOnClickListener(this);
if (this.confirm != null) confirm.setOnClickListener(this);
TextView title = parent.findViewById(R.id.dialog_content);
if (title != null && !TextUtils.isEmpty(msg)) {
if (msg.contains("\\n")) {
title.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL);
}
Log.e("CommonDialog", "init.203:" + msg);
String newMsg = msg.replaceAll("\\\\", "\\").replaceAll("\\n", "<br>");
Log.e("CommonDialog", "init.205:" + newMsg);
// title.setText(Html.fromHtml(newMsg, null, new MxgsaTagHandler(activity)));
title.setText(Html.fromHtml(newMsg));
}
Log.e("CommonDialog", "init.215:" + cancelAble);
return this;
}
protected void initView(View view) {
this.cancel = view.findViewById(R.id.dialog_cancel);
this.confirm = view.findViewById(R.id.dialog_confirm);
this.vLine = view.findViewById(R.id.dialog_line);
Log.e("CommonDialog", "initView.220:" + cancelAble);
if (this.cancel != null) this.cancel.setVisibility(cancelAble ? VISIBLE : View.GONE);
if (vLine != null) this.vLine.setVisibility(!cancelAble ? VISIBLE : View.GONE);
}
@Override
public <T extends View> T findViewById(int id) {
return parent.findViewById(id);
}
public void setClickListener(OnConfirmClickListener listener) {
this.mOnConfirmClickListener = listener;
}
@Override
public final void show() {
this.show(null);
}
boolean isAutoSize = false;
boolean cancelAble = true;
float widthRate = 0, heightRate = 0;
/**
* 相对于屏幕短边宽度的比例
*
* @param widthRate
* @param heightRate
*/
public void setSizeRate(float widthRate, float heightRate) {
this.widthRate = widthRate;
this.heightRate = heightRate;
}
public CommonDialog gravity(int g) {
this.dialogGravity = g;
return this;
}
int dialogGravity = Gravity.CENTER;
public void show(Object obj) {
this.clickData = obj;
try {
super.show();
} catch (Exception e) {
e.printStackTrace();
}
setContentView(parent);
initView(parent);
try {
Window dialogWindow = getWindow();
dialogWindow.setGravity(dialogGravity);
dialogWindow.getDecorView().setPadding(0, 0, 0, 0);
dialogWindow.setBackgroundDrawableResource(android.R.color.transparent);
int width = dialogWindow.getContext().getResources().getDisplayMetrics().widthPixels;
int height = dialogWindow.getContext().getResources().getDisplayMetrics().heightPixels;
int vWidth = parent.getPaddingLeft();
Log.e("CommonDialog", vWidth + ".width:" + width + " height:" + height);
// if (this.isAutoSize) {
// lp.width = width;
// lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
int minSize = Math.min(width, height);
if (widthRate > 0 || heightRate > 0) {
int w = ViewGroup.LayoutParams.WRAP_CONTENT;
int h = ViewGroup.LayoutParams.WRAP_CONTENT;
if (widthRate > 0) {
w = (int) (widthRate * minSize);
}
if (heightRate > 0) {
h = (int) (heightRate * minSize);
}
dialogWindow.setLayout(w, h);
} else {
dialogWindow.setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void setCancelable(boolean flag) {
super.setCancelable(flag);
cancelAble = flag;
}
@Override
public void onClick(View v) {
if (mOnConfirmClickListener != null) {
mOnConfirmClickListener.onClickConfirm(v.getId() == R.id.dialog_confirm, clickData);
}
if (v.getId() == R.id.dialog_confirm || this.cancelAble) {
dismiss();
}
}
public interface OnConfirmClickListener<T> {
// isConfirm 取消按钮
void onClickConfirm(boolean isConfirm, T data);
}
}

View File

@ -53,6 +53,9 @@ object Constants {
const val feedback_URL_res: String = "https://campaign.nebuluxetv.com/pages/leave/index"
const val feedback_list_URL_res: String = "https://campaign.nebuluxetv.com/pages/leave/list"
const val feedback_detail_URL_res: String = "https://campaign.nebuluxetv.com/pages/leave/detail"
const val URL_OF_PRIVACY_POLICY: String = "https://www.nebuluxetv.com/private"
const val URL_OF_USER_POLICY: String = "https://www.nebuluxetv.com/user_policy"
const val URL_OF_VISITOR: String = "https://www.nebuluxetv.com"
const val Constants_Main_Video_status = "Constants_Main_Video_status"
const val Constants_Main_Video_info = "Constants_Main_Video_info"
var WebRefresh: Boolean = false

View File

@ -60,7 +60,7 @@ class FreshActivity : BaseActivity<ActivityFreshBinding>() {
hideLoading()
} else {
showNetError()
toast(getString(R.string.network_error))
toast(R.string.network_error)
hideLoading()
}
}

View File

@ -77,7 +77,7 @@ class GenresActivity : BaseActivity<ActivityFreshBinding>() {
hideLoading()
} else {
showNetError()
toast(getString(R.string.network_error))
toast(R.string.network_error)
hideLoading()
}
}

View File

@ -43,7 +43,8 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
Intent(
context,
HotActivity::class.java
))
)
)
}
}
binding.tvTop.setOnClickListener {
@ -52,7 +53,8 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
Intent(
context,
RankActivity::class.java
))
)
)
}
}
binding.tvFresh.setOnClickListener {
@ -61,7 +63,8 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
Intent(
context,
FreshActivity::class.java
))
)
)
}
}
binding.tvFresh.setOnClickListener {
@ -70,7 +73,18 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
Intent(
context,
GenresActivity::class.java
))
)
)
}
}
binding.rlTop.setOnClickListener {
singleClick {
startActivity(
Intent(
context,
SearchActivity::class.java
)
)
}
}
}
@ -240,7 +254,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
EventBus.getDefault().post(Constants.CONSTANTS_main_stop)
}
} else {
toast(getString(R.string.network_error))
toast(R.string.network_error)
hideLoading()
binding?.srHome?.finishRefresh()
EventBus.getDefault().post(Constants.CONSTANTS_main_stop)

View File

@ -63,7 +63,7 @@ class HotActivity : BaseActivity<FragmentHotBinding>() {
})
}
} else {
toast(getString(R.string.network_error))
toast(R.string.network_error)
}
binding?.srFree?.finishRefresh()
hideLoading()

View File

@ -59,7 +59,7 @@ class RankActivity : BaseActivity<ActivityRankingsBinding>() {
hideLoading()
} else {
showNetError()
toast(getString(R.string.network_error))
toast(R.string.network_error)
hideLoading()
}
}

View File

@ -307,7 +307,7 @@ class ReelsFragment : BaseFragment<FragmentReelsBinding>(),
}
hideNetError()
} else {
toast(getString(R.string.network_error))
toast(R.string.network_error)
hideLoading()
}
binding.srFy.finishRefresh()
@ -322,7 +322,7 @@ class ReelsFragment : BaseFragment<FragmentReelsBinding>(),
dataRes?.collect_total
toast(getString(R.string.success))
} else {
toast(getString(R.string.network_error))
toast(R.string.network_error)
}
}
mViewModel.cancelCollectData.observe(this) {
@ -334,7 +334,7 @@ class ReelsFragment : BaseFragment<FragmentReelsBinding>(),
dataRes?.collect_total
toast(getString(R.string.success))
} else {
toast(getString(R.string.network_error))
toast(R.string.network_error)
}
}
}

View File

@ -105,7 +105,7 @@ class SavedFragment : BaseFragment<FragmentSavedBinding>() {
// hideNetError()
// } else {
// hideLoading()
// toast(getString(R.string.network_error))
// toast(R.string.network_error)
// }
// binding?.srMyList?.finishRefresh()
// binding?.srMyList?.finishLoadMore()
@ -117,7 +117,7 @@ class SavedFragment : BaseFragment<FragmentSavedBinding>() {
// myListAdapter?.removeAt(current)
// myListAdapter?.notifyDataSetChanged()
// } else {
// toast(getString(R.string.network_error))
// toast(R.string.network_error)
// }
// }
}

View File

@ -199,7 +199,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
// loginDialog?.dismiss()
// } else {
// hideLoading()
// toast(getString(R.string.network_error))
// toast(R.string.network_error)
// }
// }
}

View File

@ -2,8 +2,13 @@ package com.jia.er.nebuluxe.app.me
import android.content.Intent
import android.net.Uri
import androidx.core.net.toUri
import com.jia.er.nebuluxe.app.basics.BaseActivity
import com.jia.er.nebuluxe.app.basics.Constants.URL_OF_PRIVACY_POLICY
import com.jia.er.nebuluxe.app.basics.Constants.URL_OF_USER_POLICY
import com.jia.er.nebuluxe.app.basics.Constants.URL_OF_VISITOR
import com.jia.er.nebuluxe.app.databinding.ActivityAboutBinding
import com.jia.er.nebuluxe.app.utils.AppUtil.openWeb
import com.jia.er.nebuluxe.app.utils.PackageUtils
import com.jia.er.nebuluxe.app.utils.singleClick
@ -16,22 +21,17 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
binding.tvVersion.text = "V".plus(PackageUtils.getPackageVersion(this))
binding.tvPrivacyPolicy.setOnClickListener {
singleClick {
val webIntent =
Intent(Intent.ACTION_VIEW, Uri.parse("https://www.nebuluxetv.com/private"))
startActivity(webIntent)
openWeb(this, URL_OF_PRIVACY_POLICY)
}
}
binding.tvUserAgreement.setOnClickListener {
singleClick {
val webIntent =
Intent(Intent.ACTION_VIEW, Uri.parse("https://www.nebuluxetv.com/user_policy"))
startActivity(webIntent)
openWeb(this, URL_OF_USER_POLICY)
}
}
binding.tvVisitWebsite.setOnClickListener {
singleClick {
val webIntent = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.nebuluxetv.com"))
startActivity(webIntent)
openWeb(this, URL_OF_VISITOR)
}
}
}

View File

@ -1,14 +1,7 @@
package com.jia.er.nebuluxe.app.me
import android.annotation.SuppressLint
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.text.Spannable
import android.text.SpannableString
import android.text.style.UnderlineSpan
import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
@ -17,10 +10,16 @@ import com.bumptech.glide.request.RequestOptions
import com.jia.er.nebuluxe.app.R
import com.jia.er.nebuluxe.app.basics.BaseFragment
import com.jia.er.nebuluxe.app.basics.Constants
import com.jia.er.nebuluxe.app.basics.Constants.URL_OF_PRIVACY_POLICY
import com.jia.er.nebuluxe.app.basics.Constants.URL_OF_USER_POLICY
import com.jia.er.nebuluxe.app.databinding.FragmentMeBinding
import com.jia.er.nebuluxe.app.net.MainViewModel
import com.jia.er.nebuluxe.app.utils.AppUtil.openWeb
import com.jia.er.nebuluxe.app.utils.DialogUtils
import com.jia.er.nebuluxe.app.utils.DialogUtils.DialogOnClickListener
import com.jia.er.nebuluxe.app.utils.Memory
import com.jia.er.nebuluxe.app.utils.singleClick
import com.jia.er.nebuluxe.app.utils.toast
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@ -35,6 +34,49 @@ class MeFragment : BaseFragment<FragmentMeBinding>() {
mViewModel.getInfo()
mViewModel.noticeNum()
}
binding.llAbout.setOnClickListener {
singleClick {
startActivity(
Intent(requireContext(), AboutActivity::class.java)
)
}
}
binding.llPrivacy.setOnClickListener {
singleClick {
openWeb(requireContext(), URL_OF_PRIVACY_POLICY)
}
}
binding.llUser.setOnClickListener {
singleClick {
openWeb(requireContext(), URL_OF_USER_POLICY)
}
}
binding.llLanguage.setOnClickListener {
singleClick {
toast(R.string.toast_wait)
}
}
binding.llDelete.setOnClickListener {
DialogUtils.showDoubleBtnDialog(
requireContext(),
getString(R.string.dialog_title_logout),
getString(R.string.dialog_content_logout),
getString(R.string.dialog_confirm_btn_logout),
getString(R.string.dialog_cancel_btn_logout),
R.mipmap.ic_logout,
object : DialogOnClickListener {
override fun onConfirmClick() {
TODO("Not yet implemented")
}
override fun onCancelClick() {
TODO("Not yet implemented")
}
}
)
}
// binding.llFeedback.setOnClickListener {
// singleClick {
// startActivity(
@ -144,8 +186,7 @@ class MeFragment : BaseFragment<FragmentMeBinding>() {
Glide.with(this).load(Memory.getUserInfo()?.avator).skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.apply(RequestOptions.bitmapTransform(CircleCrop()))
.placeholder(R.drawable.iv_avatar)
.error(R.drawable.iv_avatar).into(it)
.placeholder(R.drawable.iv_avatar).error(R.drawable.iv_avatar).into(it)
}
} else {
binding?.tvUserName?.text =
@ -154,8 +195,7 @@ class MeFragment : BaseFragment<FragmentMeBinding>() {
Glide.with(this).load(Memory.getUserInfo()?.avator).skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.apply(RequestOptions.bitmapTransform(CircleCrop()))
.placeholder(R.drawable.iv_avatar)
.error(R.drawable.iv_avatar).into(it)
.placeholder(R.drawable.iv_avatar).error(R.drawable.iv_avatar).into(it)
}
}
// if (Memory.isVip()) {

View File

@ -94,7 +94,7 @@ class SettingActivity : BaseActivity<ActivitySettingBinding>() {
// Constants.WebRefresh = true
// finish()
// } else {
// toast(getString(R.string.network_error))
// toast(R.string.network_error)
// }
// hideLoading()
// }

View File

@ -1,6 +1,8 @@
package com.jia.er.nebuluxe.app.net
import com.jia.er.nebuluxe.app.BuildConfig.DEBUG
import com.jia.er.nebuluxe.app.net.Decryption.EN_STR_TAG
import com.jia.er.nebuluxe.app.utils.LOG
import okhttp3.Interceptor
import okhttp3.Response
import okhttp3.ResponseBody

View File

@ -2,6 +2,7 @@ package com.jia.er.nebuluxe.app.net
import android.os.Build
import android.provider.Settings
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.liveData
import com.jia.er.nebuluxe.app.R

View File

@ -0,0 +1,16 @@
package com.jia.er.nebuluxe.app.utils
import android.content.Context
import android.content.Intent
import android.net.Uri
import androidx.core.net.toUri
object AppUtil {
// public static void openWeb(Context context, String webUrl) {
// context.startActivity(new Intent(ACTION_VIEW, Uri.parse(webUrl)));
// }
fun openWeb(context: Context, webUrl: String?) {
context.startActivity(Intent(Intent.ACTION_VIEW, webUrl?.toUri()))
}
}

View File

@ -1,9 +1,17 @@
package com.jia.er.nebuluxe.app.utils
import android.content.Context
import android.graphics.Color
import android.text.Spannable
import android.text.SpannableString
import android.text.SpannedString
import android.text.style.ForegroundColorSpan
import android.util.Log
import android.widget.TextView
import androidx.appcompat.widget.AppCompatImageView
import androidx.appcompat.widget.AppCompatTextView
import com.jia.er.nebuluxe.app.R
import com.jia.er.nebuluxe.app.basics.CommonDialog
import com.jia.er.nebuluxe.app.net.MainViewModel
import com.jia.er.nebuluxe.app.ui.UnFavoriteDialog
import com.jia.er.nebuluxe.app.utils.singleClick
@ -13,10 +21,7 @@ object DialogUtils {
fun unFavoriteDialog(
context: Context,
short_play_id: Int,
video_id: Int,
genresViewModel: MainViewModel
context: Context, short_play_id: Int, video_id: Int, genresViewModel: MainViewModel
) {
val exampleUnFavoriteDialog = UnFavoriteDialog(context)
val tvThinkAgain =
@ -32,4 +37,36 @@ object DialogUtils {
}
exampleUnFavoriteDialog.show()
}
interface DialogOnClickListener {
fun onConfirmClick()
fun onCancelClick()
}
fun showDoubleBtnDialog(
context: Context,
title: String,
content: String,
confirmStr: String,
cancelStr: String,
iconRes: Int,
listener: DialogOnClickListener
) {
singleClick {
val dialog = CommonDialog(
CommonDialog.Builder(context).title(title).content(content).centerIcon(iconRes)
.addString(R.id.dialog_confirm, confirmStr)
.addString(R.id.dialog_cancel, cancelStr)
.addOnClick({ commonDialog, vId ->
if (vId == R.id.dialog_confirm) {
listener.onConfirmClick();
} else if (vId == R.id.dialog_cancel) {
listener.onCancelClick();
}
}, R.id.dialog_confirm, R.id.dialog_cancel)
)
dialog.setSizeRate(.8F, 0F)
dialog.show()
}
}
}

View File

@ -0,0 +1,364 @@
package com.jia.er.nebuluxe.app.utils;
import android.text.TextUtils;
import android.util.Log;
import com.google.gson.Gson;
import java.util.HashSet;
import java.util.Set;
public class LOG {
public static boolean showDebug() {
return true;
// return DEBUG || BASE.isRQ() || SHOW_LOG;
}
public static void e(String tag, String con) {
if (showDebug()) {
Log.e(tag, con);
}
}
public static void d(String tag, String con) {
if (showDebug()) Log.d(tag, con);
}
public static void i(String tag, String con) {
if (showDebug()) {
Log.i(tag, con);
}
}
public static void bean(String tag, Object obj, String... url) {
if (showDebug()) {
try {
bean(tag, new Gson().toJson(obj), url);
} catch (OutOfMemoryError error) {
if (obj != null) {
Log.e("LOG", "post: = " + obj.toString());
} else {
Log.e("LOG", "post: = null");
}
} catch (Exception e) {
Log.w("LOG", "post: 输出错误");
}
}
}
public static void bean(String tag, String log, String... url) {
if (!showDebug()) {
return;
}
String lineOut = "";
if (url != null && url.length > 0) {
lineOut = "<" + url[0] + ">";
} else {
lineOut = tag;
}
Log.w("BEAN." + tag, "------------------------------" + lineOut + "------------------------------");
if (log == null) {
Log.w("BEAN." + tag, "=====>null");
return;
}
Log.w("BEAN." + tag, "=====>" + log);
if ("pollAlarm".equals(tag)) {
return;
}
log = log.replaceAll("(\\d*),˛", "$1_");
String outPut = log.replaceAll(":\\{", ":,{").replaceAll(":\\[\\{", ":[,{").replaceAll("\\}", "},").replaceAll("\\]", "],").replaceAll("\\\\\"", "");
String[] outs = outPut.split(",");
String SPACE = "";
int lineNumLength = String.valueOf(outs.length).length();
for (int i = 0; i < outs.length; i++) {
String showLine = frontCompWithZore(i, lineNumLength);
if (outs[i].contains("}") || outs[i].contains("]")) {
if (!TextUtils.isEmpty(SPACE)) {
SPACE = SPACE.substring(0, SPACE.lastIndexOf("\t"));
}
}
Log.w("BEAN." + tag, " --" + showLine + "->" + SPACE + outs[i].replaceAll("\"", ""));
if (outs[i].startsWith("{") && !outs[i].startsWith("{}") || outs[i].contains("[") && !outs[i].startsWith("[]")) {
SPACE = SPACE + "\t";
}
}
Log.w("BEAN." + tag, "------------------------------" + lineOut + ".end------------------------------");
}
/**
* 0 指前面补充零
* formatLength 字符总长度为 formatLength
* d 代表为正数
*/
static String frontCompWithZore(int sourceDate, int formatLength) {
String newString = String.format("%0" + formatLength + "d", sourceDate);
return newString;
}
public static int useLine() {//该方法 所在方法的 调用所在行数
StackTraceElement[] stacks = new Exception().getStackTrace();
return stacks[2].getLineNumber();
}
public static int thisLine() {//该方法调用所在行数
StackTraceElement[] stacks = new Exception().getStackTrace();
return stacks[1].getLineNumber();
}
public static String getUserWhere(Object... object) {
StackTraceElement[] stacks = new Exception().getStackTrace();
StringBuilder sb = new StringBuilder();
if (stacks != null) {
try {
String classname5 = stacks[4].getFileName(); //获取调用者的类名
String method_name5 = stacks[4].getMethodName(); //获取调用者的方法名
int line5 = stacks[4].getLineNumber(); //获取调用者的方法名
sb.append(classname5 + "[" + method_name5 + "]." + line5);
String classname4 = stacks[3].getFileName(); //获取调用者的类名
String method_name4 = stacks[3].getMethodName(); //获取调用者的方法名
int line4 = stacks[3].getLineNumber(); //获取调用者的方法名
sb.append("-->" + classname4 + "[" + method_name4 + "]." + line4);
String classname = stacks[2].getFileName(); //获取调用者的类名
String method_name = stacks[2].getMethodName(); //获取调用者的方法名
int line = stacks[2].getLineNumber(); //获取调用者的方法名
sb.append("-->" + classname + "[" + method_name + "]." + line);
String classname1 = stacks[1].getFileName(); //获取调用者的类名
String method_name1 = stacks[1].getMethodName(); //获取调用者的方法名
int line1 = stacks[1].getLineNumber(); //获取调用者的方法名
sb.append("-->" + classname1 + "[" + method_name1 + "]." + line1);
String classname3 = stacks[0].getFileName(); //获取调用者的类名
String method_name3 = stacks[0].getMethodName(); //获取调用者的方法名
int line3 = stacks[0].getLineNumber(); //获取调用者的方法名
sb.append("-->" + classname3 + "[" + method_name3 + "]." + line3);
String tag = classname;
if (null != object) {
if (object[0] instanceof String) {
tag = (String) object[0];
} else {
tag = object[0].getClass().getSimpleName();
}
}
sb.append(tag, 0, tag.length());
} catch (Exception e) {
}
}
return sb.toString();
}
/**
* @param index 位置 1-调用 getWhere 的位置 2调用getWhere 所在行对应方法的方法
* @return
*/
public static String getWhere(int index) {
StackTraceElement[] stacks = new Exception().getStackTrace();
StringBuilder sb = new StringBuilder();
try {
//获取调用者的类名
String classname = stacks[index].getFileName();
//获取调用者的方法名
String methodName5 = stacks[index].getMethodName();
//获取调用者的方法名
int line5 = stacks[index].getLineNumber();
// sb.append(classname5 + "[" + methodName5 + "]." + line5);
sb.append("at ");
sb.append("(");
sb.append(classname);
sb.append(":");
sb.append(line5);
sb.append(")");
sb.append(methodName5);
} catch (Exception e) {
}
return sb.toString();
}
public static String getWhere(String pageName) {
StackTraceElement[] stacks = new Exception().getStackTrace();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < stacks.length; i++) {
int index = i;
try {
//获取调用者的类名
String classname = stacks[index].getClassName();
if (!classname.contains(pageName)) continue;
//获取调用者的方法名
String methodName5 = stacks[index].getMethodName();
//获取调用者的方法名
int line5 = stacks[index].getLineNumber();
// sb.append(classname5 + "[" + methodName5 + "]." + line5);
sb.append("at ");
sb.append("(");
sb.append(classname);
sb.append(":");
sb.append(line5);
sb.append(")");
sb.append(methodName5);
} catch (Exception e) {
}
}
return sb.toString();
}
public static void showUserWhere(Object... object) {
String show = "";
StackTraceElement[] stacks = new Exception().getStackTrace();
if (stacks != null) {
try {
if (object != null && object.length > 1) {
if (object[1] instanceof Integer) {
StringBuilder showPan = new StringBuilder();
for (int i = (int) object[1]; i >= 0; i--) {
showPan.append("==> ");
showPan.append(stacks[i].getFileName());
showPan.append("[");
showPan.append(stacks[i].getMethodName());
showPan.append("].");
showPan.append(stacks[i].getLineNumber());
}
showPan.replace(0, 4, "");
String tag = (String) object[0];
Log.e(tag, showPan.toString());
return;
}
}
String classname4 = stacks[3].getFileName(); //获取调用者的类名
String method_name4 = stacks[3].getMethodName(); //获取调用者的方法名
int line4 = stacks[3].getLineNumber(); //获取调用者的方法名
show = classname4 + "[" + method_name4 + "]." + line4;
String classname = stacks[2].getFileName(); //获取调用者的类名
String method_name = stacks[2].getMethodName(); //获取调用者的方法名
int line = stacks[2].getLineNumber(); //获取调用者的方法名
show += "==> " + classname + "[" + method_name + "]." + line;
String classname1 = stacks[1].getFileName(); //获取调用者的类名
String method_name1 = stacks[1].getMethodName(); //获取调用者的方法名
int line1 = stacks[1].getLineNumber(); //获取调用者的方法名
show += "==> " + classname1 + "[" + method_name1 + "]." + line1;
String classname3 = stacks[0].getFileName(); //获取调用者的类名
String method_name3 = stacks[0].getMethodName(); //获取调用者的方法名
int line3 = stacks[0].getLineNumber(); //获取调用者的方法名
show += "==> " + classname3 + "[" + method_name3 + "]." + line3;
String tag = classname;
if (object != null) {
if (object[0] instanceof String) {
tag = (String) object[0];
} else {
tag = object[0].getClass().getSimpleName();
}
Log.e(tag, show);
}
} catch (Exception e) {
}
}
}
/**
* @param object 0-tag 1-跳过的包名
*/
public static void showLongWhere(Object... object) {
StackTraceElement[] stacks = new Exception().getStackTrace();
if (stacks != null) {
try {
String tag = stacks[0].getFileName();
Set<String> keys = new HashSet<String>();
if (object != null && object.length > 0) {
if (object[0] instanceof String) {
tag = (String) object[0];
} else {
tag = object[0].getClass().getSimpleName();
}
if (object.length > 1) {
for (int i = 1; i < object.length; i++) {
keys.add((String) object[i]);
}
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < stacks.length; i++) {
StackTraceElement s = stacks[stacks.length - 1 - i];
if ("com.rq.base.util.LOG".equals(s.getClassName())) {
continue;
}
if (s.getClassName().startsWith("android.")) {
continue;
}
String[] arrs = s.getClassName().split("\\.");
String pkn = arrs[0] + "." + arrs[1] + "." + arrs[2];
if (keys.contains(pkn)) {
continue;
}
String classname = s.getFileName();
String method_name = s.getMethodName();
int line = s.getLineNumber();
if (i != 0) {
sb.append("\t\n\t");
}
sb.append("at ").append(s.getClassName()).append(".").append(method_name);
sb.append("(");
sb.append(classname);
sb.append(":");
sb.append(line);
sb.append(")");
sb.append(method_name);
}
Log.d(tag, sb.toString());
} catch (Exception e) {
}
}
}
/**
* 需要引起程序员注意并且调试时调用这方法
* 一般是和后台联调错误需要通过沟通解决
*/
public static void utilLog(String tag) {
// if (!showDebug()) return;
// String packageName = "com.hz.huarun";
String con = "";
StackTraceElement[] stacks = new Exception().getStackTrace();
StringBuffer stringBuffer = new StringBuffer();
// String simpleName = classname.substring(classname.lastIndexOf(".") + 1);
if (stacks != null) {
stringBuffer.append("\t【异常起源】>>\t");
int start = Math.min(stacks.length - 1, 10);
int recoderIndex = start;
for (int i = start; i >= 0; i--) {
String classname = stacks[i].getClassName(); //获取调用者的类名
String method_name = stacks[i].getMethodName(); //获取调用者的方法名
int line = stacks[i].getLineNumber(); //获取调用者的方法名
// if (recoderIndex == -1 && classname.contains(packageName)) {//项目代码开始
// recoderIndex = i;
// }
if (i <= recoderIndex) {
if (LOG.class.getName().equals(classname)) {
continue;
}
if (i != recoderIndex) {
stringBuffer.append(tag + "|\t\t\t\t\t");
}
stringBuffer.append(i + "[" + classname + "." + method_name + " LINE " + line + "] \n");
}
}
}
con = stringBuffer.toString();
System.err.print(tag + "| " + con);
}
}

View File

@ -15,8 +15,10 @@ import android.text.style.ForegroundColorSpan
import android.text.style.StyleSpan
import android.widget.TextView
import android.widget.Toast
import androidx.annotation.IntegerRes
import androidx.appcompat.widget.AppCompatTextView
import com.google.android.gms.ads.identifier.AdvertisingIdClient
import com.jia.er.nebuluxe.app.R
import com.jia.er.nebuluxe.app.basics.Constants
import com.jia.er.nebuluxe.app.basics.Constants.ONE_DAY_IN_MILLIS
import com.jia.er.nebuluxe.app.basics.MyApplication
@ -26,10 +28,27 @@ import java.util.Date
import kotlin.math.tan
private val handler = Handler(Looper.getMainLooper())
fun toast(intStr: Int) {
handler.post {
Toast.makeText(
MyApplication.context,
MyApplication.context.resources.getString(intStr),
Toast.LENGTH_SHORT
).show()
}
if (intStr == R.string.network_error) {
LOG.showLongWhere("toast")
}
}
fun toast(text: String) {
handler.post {
Toast.makeText(MyApplication.context, text, Toast.LENGTH_SHORT).show()
}
if ("The service is abnormal." == text) {
LOG.showLongWhere("toast")
}
}
@ -126,6 +145,7 @@ fun AppCompatTextView.applyTextSkew(angle: Float) {
fun dpToPx(dp: Int, context: Context): Int {
return (dp * context.resources.displayMetrics.density).toInt()
}
fun dpToPxByFloat(dp: Int, context: Context): Float {
return (dp * context.resources.displayMetrics.density)
}

View File

@ -190,7 +190,7 @@ class PlayerDetailActivity : BaseActivity<ActivityPlayDetailBinding>(),
override fun onPlayerError(error: PlaybackException) {
super.onPlayerError(error)
ivIconPlayer?.visibility = View.VISIBLE
toast(getString(R.string.network_error))
toast(R.string.network_error)
}
})
collection?.setOnClickListener {
@ -453,7 +453,7 @@ class PlayerDetailActivity : BaseActivity<ActivityPlayDetailBinding>(),
// }
// } else {
// hideLoading()
// toast(getString(R.string.network_error))
// toast(R.string.network_error)
// }
// }
mViewModel.videoDetailsData.observe(this) { it ->
@ -498,7 +498,7 @@ class PlayerDetailActivity : BaseActivity<ActivityPlayDetailBinding>(),
hideLoading()
} else {
showNoDrama()
toast(getString(R.string.network_error))
toast(R.string.network_error)
hideLoading()
}
}
@ -512,7 +512,7 @@ class PlayerDetailActivity : BaseActivity<ActivityPlayDetailBinding>(),
EventBus.getDefault().post(Constants.CONSTANTS_collect_refresh)
toast(getString(R.string.success))
} else {
toast(getString(R.string.network_error))
toast(R.string.network_error)
}
}
mViewModel.cancelCollectData.observe(this) {
@ -525,7 +525,7 @@ class PlayerDetailActivity : BaseActivity<ActivityPlayDetailBinding>(),
toast(getString(R.string.success))
EventBus.getDefault().post(Constants.CONSTANTS_collect_refresh)
} else {
toast(getString(R.string.network_error))
toast(R.string.network_error)
}
}
}

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="108dp" android:height="36dp">
<item android:width="@dimen/padding_108px" android:height="@dimen/padding_36px">
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#25ffffff" />
<stroke android:width="@dimen/padding_1px" android:color="#25ffffff" />
<solid android:color="#502C2C30"/>
<corners android:radius="18dp"/>
<corners android:radius="@dimen/padding_18px"/>
</shape>
</item>
</selector>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="48dp" android:height="48dp">
<item android:width="@dimen/padding_48px" android:height="@dimen/padding_48px">
<shape android:shape="rectangle">
<solid android:color="#FFDAA4" />
<corners android:topLeftRadius="12dp" android:topRightRadius="0dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="12dp" />
<corners android:topLeftRadius="@dimen/padding_12px" android:topRightRadius="@dimen/padding_0px" android:bottomLeftRadius="@dimen/padding_0px" android:bottomRightRadius="@dimen/padding_12px" />
</shape>
</item>
</selector>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="48dp" android:height="48dp">
<item android:width="@dimen/padding_48px" android:height="@dimen/padding_48px">
<shape android:shape="rectangle">
<solid android:color="#15FFD796" />
<corners android:topLeftRadius="12dp" android:topRightRadius="0dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="12dp" />
<corners android:topLeftRadius="@dimen/padding_12px" android:topRightRadius="@dimen/padding_0px" android:bottomLeftRadius="@dimen/padding_0px" android:bottomRightRadius="@dimen/padding_12px" />
</shape>
</item>
</selector>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="108dp" android:height="36dp">
<item android:width="@dimen/padding_108px" android:height="@dimen/padding_36px">
<shape android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners android:radius="16dp"/>
<corners android:radius="@dimen/padding_16px"/>
</shape>
</item>
</selector>

View File

@ -2,8 +2,8 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#000000"/>
<corners android:topLeftRadius="30dp" android:topRightRadius="30dp"/>
<solid android:color="@color/bg_black_light"/>
<corners android:topLeftRadius="@dimen/padding_30px" android:topRightRadius="@dimen/padding_30px"/>
</shape>
</item>

View File

@ -3,7 +3,7 @@
<item>
<shape android:shape="rectangle">
<solid android:color="#272727"/>
<corners android:radius="14dp"/>
<corners android:radius="@dimen/padding_14px"/>
</shape>
</item>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/padding_80px" />
<stroke
android:color="#DFDFDF"
android:width="1px" />
</shape>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
android:width="108dp"
android:height="@dimen/padding_108px"
android:width="@dimen/padding_108px"
android:viewportHeight="108"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">

View File

@ -1,7 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:width="@dimen/padding_108px"
android:height="@dimen/padding_108px"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">

View File

@ -4,14 +4,14 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/iv_home_bg"
android:paddingTop="55dp">
android:paddingTop="@dimen/padding_55px">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/example_iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:padding="8dp"
android:layout_marginLeft="@dimen/padding_16px"
android:padding="@dimen/padding_8px"
android:src="@drawable/iv_example_back"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -20,10 +20,10 @@
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginTop="@dimen/padding_5px"
android:text="About"
android:textColor="#FFDAA4"
android:textSize="18dp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -31,9 +31,9 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_logo"
android:layout_width="84dp"
android:layout_height="84dp"
android:layout_marginTop="36dp"
android:layout_width="@dimen/padding_84px"
android:layout_height="@dimen/padding_84px"
android:layout_marginTop="@dimen/padding_36px"
android:src="@mipmap/ic_launcher"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -43,10 +43,10 @@
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginTop="@dimen/padding_15px"
android:text="@string/app_name"
android:textColor="#FFDAA4"
android:textSize="18dp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -56,10 +56,10 @@
android:id="@+id/tv_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginTop="@dimen/padding_15px"
android:text="Version 1.0.0"
android:textColor="#999999"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_name" />
@ -67,10 +67,10 @@
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="33dp"
android:layout_marginTop="17dp"
android:layout_marginRight="33dp"
android:layout_height="@dimen/padding_1px"
android:layout_marginLeft="@dimen/padding_33px"
android:layout_marginTop="@dimen/padding_17px"
android:layout_marginRight="@dimen/padding_33px"
android:background="#10FFFFFF"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -79,15 +79,15 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_visit_website"
android:layout_width="match_parent"
android:layout_height="28dp"
android:layout_marginLeft="33dp"
android:layout_marginTop="17dp"
android:layout_marginRight="33dp"
android:layout_height="@dimen/padding_28px"
android:layout_marginLeft="@dimen/padding_33px"
android:layout_marginTop="@dimen/padding_17px"
android:layout_marginRight="@dimen/padding_33px"
android:drawableEnd="@drawable/iv_me_right"
android:gravity="center_vertical"
android:text="Visit Website"
android:textColor="#FFDAA4"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -97,10 +97,10 @@
<View
android:id="@+id/line1"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="33dp"
android:layout_marginTop="17dp"
android:layout_marginRight="33dp"
android:layout_height="@dimen/padding_1px"
android:layout_marginLeft="@dimen/padding_33px"
android:layout_marginTop="@dimen/padding_17px"
android:layout_marginRight="@dimen/padding_33px"
android:background="#10FFFFFF"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -109,15 +109,15 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_privacy_policy"
android:layout_width="match_parent"
android:layout_height="28dp"
android:layout_marginLeft="33dp"
android:layout_marginTop="17dp"
android:layout_marginRight="33dp"
android:layout_height="@dimen/padding_28px"
android:layout_marginLeft="@dimen/padding_33px"
android:layout_marginTop="@dimen/padding_17px"
android:layout_marginRight="@dimen/padding_33px"
android:drawableEnd="@drawable/iv_me_right"
android:gravity="center_vertical"
android:text="Privacy Policy"
android:textColor="#FFDAA4"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -126,10 +126,10 @@
<View
android:id="@+id/line2"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="33dp"
android:layout_marginTop="17dp"
android:layout_marginRight="33dp"
android:layout_height="@dimen/padding_1px"
android:layout_marginLeft="@dimen/padding_33px"
android:layout_marginTop="@dimen/padding_17px"
android:layout_marginRight="@dimen/padding_33px"
android:background="#10FFFFFF"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -138,15 +138,15 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_user_agreement"
android:layout_width="match_parent"
android:layout_height="28dp"
android:layout_marginLeft="33dp"
android:layout_marginTop="17dp"
android:layout_marginRight="33dp"
android:layout_height="@dimen/padding_28px"
android:layout_marginLeft="@dimen/padding_33px"
android:layout_marginTop="@dimen/padding_17px"
android:layout_marginRight="@dimen/padding_33px"
android:drawableEnd="@drawable/iv_me_right"
android:gravity="center_vertical"
android:text="User Agreement"
android:textColor="#FFDAA4"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

View File

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/iv_home_bg"
android:paddingTop="55dp">
android:paddingTop="@dimen/padding_55px">
@ -13,7 +13,7 @@
android:id="@+id/example_iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:src="@drawable/iv_example_back"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -22,10 +22,10 @@
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginTop="@dimen/padding_5px"
android:text="Fresh Drops"
android:textColor="#FFffff"
android:textSize="18dp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -35,7 +35,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_height="@dimen/padding_0px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title">
@ -65,7 +65,7 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:itemCount="4"
android:layout_marginTop="25dp"
android:layout_marginTop="@dimen/padding_25px"
tools:listitem="@layout/item_genres" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>

View File

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/iv_home_bg"
android:paddingTop="55dp">
android:paddingTop="@dimen/padding_55px">
@ -13,7 +13,7 @@
android:id="@+id/example_iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:src="@drawable/iv_example_back"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -22,10 +22,10 @@
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginTop="@dimen/padding_5px"
android:text="Explore Genres"
android:textColor="#FFffff"
android:textSize="18dp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -35,7 +35,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_height="@dimen/padding_0px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title">

View File

@ -12,21 +12,23 @@
<com.flyco.tablayout.CommonTabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_height="@dimen/padding_84px"
android:background="@drawable/bg_home_tab"
app:layout_constraintBottom_toBottomOf="parent"
app:tl_iconHeight="36dp"
app:tl_iconWidth="36dp"
app:tl_indicator_height="0dp" />
app:tl_iconGravity="TOP"
app:tl_iconHeight="@dimen/padding_35px"
app:tl_iconMargin="@dimen/padding_n_30px"
app:tl_iconWidth="@dimen/padding_35px"
app:tl_indicator_height="@dimen/padding_0px" />
<!-- <include-->
<!-- android:id="@+id/dialog_history"-->
<!-- layout="@layout/main_dialog_history"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="0dp"-->
<!-- android:visibility="invisible"-->
<!-- android:layout_marginBottom="30dp"-->
<!-- app:layout_constraintBottom_toTopOf="@id/tab_layout" />-->
<!-- <include-->
<!-- android:id="@+id/dialog_history"-->
<!-- layout="@layout/main_dialog_history"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="@dimen/padding_0px"-->
<!-- android:visibility="invisible"-->
<!-- android:layout_marginBottom="@dimen/padding_30px"-->
<!-- app:layout_constraintBottom_toTopOf="@id/tab_layout" />-->
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -20,16 +20,16 @@
<!-- <androidx.appcompat.widget.AppCompatTextView-->
<!-- android:id="@+id/tv_lock_episode"-->
<!-- android:layout_width="286dp"-->
<!-- android:layout_height="52dp"-->
<!-- android:layout_width="@dimen/padding_286px"-->
<!-- android:layout_height="@dimen/padding_52px"-->
<!-- android:background="@drawable/iv_lock_bg"-->
<!-- android:drawableStart="@drawable/iv_lock_detail"-->
<!-- android:drawablePadding="8dp"-->
<!-- android:drawablePadding="@dimen/padding_8px"-->
<!-- android:gravity="center"-->
<!-- android:paddingLeft="40dp"-->
<!-- android:paddingRight="40dp"-->
<!-- android:paddingLeft="@dimen/padding_40px"-->
<!-- android:paddingRight="@dimen/padding_40px"-->
<!-- android:textColor="#FFF1DD"-->
<!-- android:textSize="14dp"-->
<!-- android:textSize="@dimen/text_size_14px"-->
<!-- android:textStyle="bold"-->
<!-- android:visibility="invisible"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->

View File

@ -19,8 +19,8 @@
android:id="@+id/example_iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="55dp"
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_55px"
android:src="@drawable/iv_example_back"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -29,7 +29,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_height="@dimen/padding_0px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_top">

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -5,14 +5,14 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/iv_home_bg"
android:paddingTop="55dp">
android:paddingTop="@dimen/padding_55px">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/example_iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:padding="8dp"
android:layout_marginLeft="@dimen/padding_16px"
android:padding="@dimen/padding_8px"
android:src="@drawable/iv_example_back"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -21,10 +21,10 @@
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginTop="@dimen/padding_5px"
android:text="Settings"
android:textColor="#FFDAA4"
android:textSize="18sp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -34,9 +34,9 @@
android:id="@+id/me_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="15dp"
android:layout_marginRight="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_15px"
android:layout_marginRight="@dimen/padding_16px"
android:background="@drawable/bg_content"
android:orientation="vertical"
app:layout_constraintLeft_toLeftOf="parent"
@ -45,29 +45,29 @@
<!-- <androidx.appcompat.widget.AppCompatTextView-->
<!-- android:id="@+id/tv_example_log_out"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="48dp"-->
<!-- android:layout_height="@dimen/padding_48px"-->
<!-- android:drawableEnd="@drawable/iv_me_right"-->
<!-- android:drawablePadding="25dp"-->
<!-- android:drawablePadding="@dimen/padding_25px"-->
<!-- android:gravity="center_vertical"-->
<!-- android:paddingLeft="17dp"-->
<!-- android:paddingRight="17dp"-->
<!-- android:paddingLeft="@dimen/padding_17px"-->
<!-- android:paddingRight="@dimen/padding_17px"-->
<!-- android:text="Account Deletion"-->
<!-- android:textColor="#FFDAA4"-->
<!-- android:textSize="14dp"-->
<!-- android:textSize="@dimen/text_size_14px"-->
<!-- android:textStyle="bold" />-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_clear_cache"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_height="@dimen/padding_48px"
android:drawableEnd="@drawable/iv_me_right"
android:drawablePadding="25dp"
android:drawablePadding="@dimen/padding_25px"
android:gravity="center_vertical"
android:paddingLeft="17dp"
android:paddingRight="17dp"
android:paddingLeft="@dimen/padding_17px"
android:paddingRight="@dimen/padding_17px"
android:text="Clear cache"
android:textColor="#FFDAA4"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
android:textStyle="bold" />
@ -76,15 +76,15 @@
<!-- <androidx.appcompat.widget.AppCompatTextView-->
<!-- android:id="@+id/tv_example_quit"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="36dp"-->
<!-- android:layout_marginLeft="16dp"-->
<!-- android:layout_marginTop="18dp"-->
<!-- android:layout_marginRight="16dp"-->
<!-- android:layout_height="@dimen/padding_36px"-->
<!-- android:layout_marginLeft="@dimen/padding_16px"-->
<!-- android:layout_marginTop="@dimen/padding_18px"-->
<!-- android:layout_marginRight="@dimen/padding_16px"-->
<!-- android:background="@drawable/iv_txt_btn_bg"-->
<!-- android:gravity="center"-->
<!-- android:text="Log out"-->
<!-- android:textColor="#FFDAA4"-->
<!-- android:textSize="14dp"-->
<!-- android:textSize="@dimen/text_size_14px"-->
<!-- android:textStyle="bold"-->
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
<!-- app:layout_constraintRight_toRightOf="parent"-->

View File

@ -11,7 +11,7 @@
android:id="@+id/tv_recommend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="123dp"
android:layout_marginTop="@dimen/padding_123px"
android:gravity="center"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -20,8 +20,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_marginTop="9dp"
android:layout_height="@dimen/padding_400px"
android:layout_marginTop="@dimen/padding_9px"
app:layout_constraintTop_toBottomOf="@id/tv_recommend">
</androidx.constraintlayout.widget.ConstraintLayout>
@ -29,12 +29,12 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:drawablePadding="3dp"
android:layout_height="@dimen/padding_18px"
android:drawablePadding="@dimen/padding_3px"
android:gravity="center"
android:text="Stories you wont want to pause"
android:textColor="#FFDAA4"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/cl" />
@ -42,15 +42,15 @@
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_height="@dimen/padding_1px"
android:background="#50FFDAA4"
app:layout_constraintTop_toBottomOf="@id/tv_content" />
<com.youth.banner.Banner
android:id="@+id/example_banner_recommend"
android:layout_width="match_parent"
android:layout_height="352dp"
android:layout_marginTop="10dp"
android:layout_height="@dimen/padding_352px"
android:layout_marginTop="@dimen/padding_10px"
app:banner_auto_loop="false"
app:banner_infinite_loop="false"
app:layout_constraintLeft_toLeftOf="parent"
@ -61,7 +61,7 @@
android:id="@+id/tv_watch_now_recommend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="19dp"
android:layout_marginTop="@dimen/padding_19px"
android:gravity="center"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -69,9 +69,9 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_close_recommend"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginTop="15dp"
android:layout_width="@dimen/padding_36px"
android:layout_height="@dimen/padding_36px"
android:layout_marginTop="@dimen/padding_15px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_watch_now_recommend" />
@ -79,7 +79,7 @@
<View
android:id="@+id/bottom"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_height="@dimen/padding_0px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_close_recommend" />

View File

@ -9,9 +9,9 @@
<com.google.android.material.card.MaterialCardView
android:id="@+id/example_cardView"
android:layout_width="match_parent"
android:layout_height="290dp"
app:cardCornerRadius="20dp"
app:cardElevation="0dp"
android:layout_height="@dimen/padding_290px"
app:cardCornerRadius="@dimen/padding_20px"
app:cardElevation="@dimen/padding_0px"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
@ -31,31 +31,31 @@
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="11dp"
android:layout_marginTop="10dp"
android:layout_marginHorizontal="@dimen/padding_11px"
android:layout_marginTop="@dimen/padding_10px"
android:ellipsize="end"
android:maxLines="1"
android:text="fracture and rebirth after fulfillmen"
android:textColor="#FFFFFF"
android:textSize="12dp" />
android:textSize="@dimen/text_size_12px" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_tag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_name"
android:layout_marginHorizontal="11dp"
android:layout_marginHorizontal="@dimen/padding_11px"
android:text="Revenge"
android:textColor="#F0C2E1"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="14dp"
android:layout_marginBottom="16dp"
android:layout_marginRight="@dimen/padding_14px"
android:layout_marginBottom="@dimen/padding_16px"
android:src="@drawable/iv_item_play" />
</RelativeLayout>

View File

@ -8,10 +8,10 @@
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_height="@dimen/padding_200px"
app:cardBackgroundColor="#272727"
app:cardCornerRadius="20dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/padding_20px"
app:cardElevation="@dimen/padding_0px"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
@ -20,10 +20,10 @@
<com.google.android.material.card.MaterialCardView
android:id="@+id/example_cardView"
android:layout_width="136dp"
android:layout_height="180dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp">
android:layout_width="@dimen/padding_136px"
android:layout_height="@dimen/padding_180px"
android:layout_marginLeft="@dimen/padding_10px"
android:layout_marginTop="@dimen/padding_10px">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_icon_banner"
@ -38,8 +38,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|bottom"
android:layout_marginRight="14dp"
android:layout_marginBottom="16dp"
android:layout_marginRight="@dimen/padding_14px"
android:layout_marginBottom="@dimen/padding_16px"
android:src="@drawable/iv_item_play" />
</com.google.android.material.card.MaterialCardView>
@ -47,16 +47,16 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="34dp"
android:layout_marginHorizontal="9dp"
android:layout_marginTop="10dp"
android:layout_height="@dimen/padding_34px"
android:layout_marginHorizontal="@dimen/padding_9px"
android:layout_marginTop="@dimen/padding_10px"
android:layout_toRightOf="@id/example_cardView"
android:ellipsize="end"
android:gravity="bottom"
android:maxLines="1"
android:text="fracture and rebirth after fulfillmen"
android:textColor="#FFFFFF"
android:textSize="13dp"
android:textSize="@dimen/text_size_13px"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
@ -65,10 +65,10 @@
android:layout_height="wrap_content"
android:layout_below="@id/tv_name"
android:layout_alignStart="@id/tv_name"
android:layout_marginTop="14dp"
android:layout_marginTop="@dimen/padding_14px"
android:text="Revenge"
android:textColor="#F0C2E1"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_des"
@ -76,13 +76,13 @@
android:layout_height="wrap_content"
android:layout_below="@id/tv_tag"
android:layout_alignStart="@id/tv_tag"
android:layout_marginTop="42dp"
android:layout_marginRight="15dp"
android:layout_marginTop="@dimen/padding_42px"
android:layout_marginRight="@dimen/padding_15px"
android:ellipsize="end"
android:maxLines="4"
android:text="He swore to destroy the mafia queen who ruined his family. But when she whispers I trained you for this, his revenge plan spirals into her darkest game."
android:textColor="#888888"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
</RelativeLayout>

View File

@ -16,23 +16,23 @@
android:id="@+id/iv_back_controller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:padding="10dp"
android:layout_marginTop="45dp"
android:layout_marginLeft="@dimen/padding_15px"
android:padding="@dimen/padding_10px"
android:layout_marginTop="@dimen/padding_45px"
android:src="@drawable/iv_example_back" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/example_tv_title_player_controller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:lineSpacingExtra="1dp"
android:layout_marginLeft="@dimen/padding_6px"
android:lineSpacingExtra="@dimen/padding_1px"
android:lineSpacingMultiplier="1.1"
android:layout_marginTop="55dp"
android:layout_marginTop="@dimen/padding_55px"
android:layout_toRightOf="@id/iv_back_controller"
android:text="Love Adventure Under Contract"
android:textColor="#FFDAA4"
android:textSize="18dp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold" />
@ -41,21 +41,21 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/example_ll_bottom_controller"
android:layout_marginBottom="10dp"
android:layout_marginBottom="@dimen/padding_10px"
android:gravity="center_horizontal"
android:textColor="@color/white"
android:textSize="20sp"
android:textSize="@dimen/text_size_20px"
android:visibility="invisible"
tools:text="00:00/02:24" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/example_ll_bottom_controller"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_height="@dimen/padding_20px"
android:layout_alignParentBottom="true"
android:layout_marginLeft="19dp"
android:layout_marginRight="19dp"
android:layout_marginBottom="9dp"
android:layout_marginLeft="@dimen/padding_19px"
android:layout_marginRight="@dimen/padding_19px"
android:layout_marginBottom="@dimen/padding_9px"
android:gravity="center"
android:orientation="vertical">
@ -63,23 +63,23 @@
android:id="@+id/example_seekBar_player_controller"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:maxHeight="2dp"
android:paddingStart="0dp"
android:paddingEnd="0dp"
android:maxHeight="@dimen/padding_2px"
android:paddingStart="@dimen/padding_0px"
android:paddingEnd="@dimen/padding_0px"
android:progressDrawable="@drawable/bg_example_seekbar_player"
android:splitTrack="false"
android:thumb="@drawable/bg_example_shape_seekbar_player"
android:thumbOffset="8dp" />
android:thumbOffset="@dimen/padding_8px" />
</androidx.appcompat.widget.LinearLayoutCompat>
<com.jia.er.nebuluxe.app.ui.LoadingLine
android:id="@+id/load_line"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_height="@dimen/padding_2px"
android:layout_alignParentBottom="true"
android:layout_marginLeft="19dp"
android:layout_marginRight="19dp"
android:layout_marginBottom="18dp" />
android:layout_marginLeft="@dimen/padding_19px"
android:layout_marginRight="@dimen/padding_19px"
android:layout_marginBottom="@dimen/padding_18px" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/example_iv_play_player_controller"
@ -88,7 +88,7 @@
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:contentDescription="@null"
android:padding="15dp"
android:padding="@dimen/padding_15px"
android:src="@drawable/iv_example_stop" />
<androidx.appcompat.widget.LinearLayoutCompat
@ -96,16 +96,16 @@
android:layout_height="wrap_content"
android:layout_above="@id/cl"
android:layout_alignParentEnd="true"
android:layout_marginRight="16dp"
android:layout_marginBottom="26dp"
android:layout_marginRight="@dimen/padding_16px"
android:layout_marginBottom="@dimen/padding_26px"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/example_iv_collection_controller"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginBottom="5dp"
android:layout_width="@dimen/padding_36px"
android:layout_height="@dimen/padding_36px"
android:layout_marginBottom="@dimen/padding_5px"
android:src="@drawable/iv_example_collection_n" />
<androidx.appcompat.widget.AppCompatTextView
@ -115,7 +115,7 @@
android:gravity="center"
android:text="1111"
android:textColor="#FFDAA4"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -123,24 +123,24 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl"
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_height="@dimen/padding_36px"
android:layout_above="@id/example_ll_bottom_controller"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="6dp"
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginRight="@dimen/padding_16px"
android:layout_marginBottom="@dimen/padding_6px"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_ep_total"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:drawablePadding="5dp"
android:layout_marginLeft="@dimen/padding_12px"
android:layout_marginRight="@dimen/padding_12px"
android:drawablePadding="@dimen/padding_5px"
android:gravity="left"
android:text="51 Episodes"
android:textColor="#FFE17D"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/n9_dialog_bg">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="@dimen/padding_30px"
android:textColor="@color/text_color_black"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="dialog_title" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/dialog_iv"
android:layout_width="match_parent"
android:layout_height="@dimen/padding_130px"
android:layout_marginTop="@dimen/padding_20px"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@id/dialog_title"
app:layout_constraintRight_toRightOf="@id/dialog_title"
app:layout_constraintTop_toBottomOf="@id/dialog_title"
tools:src="@mipmap/ic_logout"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/dialog_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/padding_20px"
android:paddingRight="@dimen/padding_20px"
android:textColor="@color/text_color_black"
android:textSize="@dimen/text_size_15px"
app:layout_constraintLeft_toLeftOf="@id/dialog_iv"
app:layout_constraintRight_toRightOf="@id/dialog_iv"
app:layout_constraintTop_toBottomOf="@id/dialog_iv"
tools:text="dialog_title" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/padding_27px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/dialog_content">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/dialog_cancel"
android:layout_width="@dimen/padding_0px"
android:layout_height="@dimen/padding_48px"
android:layout_weight="1"
android:background="@drawable/ic_bg_stroke_gray"
android:gravity="center"
tools:text="dialog_cancel" />
<View
android:layout_width="@dimen/padding_30px"
android:layout_height="0px" />
<com.jia.er.nebuluxe.app.TransColorTextView
android:id="@+id/dialog_confirm"
android:layout_width="@dimen/padding_0px"
android:layout_height="@dimen/padding_48px"
android:layout_weight="1"
android:background="@mipmap/ic_btn_dialog_confirm"
android:gravity="center"
app:endColor="#E593CA"
app:startColor="#FFFA80"
tools:text="dialog_confirm" />
<View
android:id="@+id/dialog_line"
android:layout_width="@dimen/padding_30px"
android:layout_height="0px" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -10,12 +10,12 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:padding="18dp">
android:padding="@dimen/padding_18px">
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_width="@dimen/padding_75px"
android:layout_height="@dimen/padding_75px"
android:indeterminateTint="#E593CA"
android:indeterminate="true"/>
@ -24,9 +24,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:layout_marginTop="@dimen/padding_16px"
android:textColor="#E593CA"
android:textSize="16dp"/>
android:textSize="@dimen/text_size_16px"/>
</LinearLayout>
</FrameLayout>

View File

@ -9,9 +9,9 @@
<RelativeLayout
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="509dp"
android:paddingTop="19dp"
android:paddingBottom="15dp"
android:layout_height="@dimen/padding_509px"
android:paddingTop="@dimen/padding_19px"
android:paddingBottom="@dimen/padding_15px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
@ -21,10 +21,10 @@
android:id="@+id/tv_content_dialog_series"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="17dp"
android:layout_marginLeft="@dimen/padding_17px"
android:text="Rising Star"
android:textColor="#FFDAA4"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
@ -33,21 +33,21 @@
android:layout_height="wrap_content"
android:layout_below="@id/tv_content_dialog_series"
android:layout_alignStart="@id/tv_content_dialog_series"
android:layout_marginTop="6dp"
android:layout_marginRight="16dp"
android:layout_marginTop="@dimen/padding_6px"
android:layout_marginRight="@dimen/padding_16px"
android:layout_toLeftOf="@id/iv_collect"
android:ellipsize="end"
android:maxLines="2"
android:text="Amidst ruins and rebirth, two souls collide in a tale of passion and redemption, where love flickers like a flame in the ashes of their shattered past."
android:textColor="#50FFFFFF"
android:textSize="12dp" />
android:textSize="@dimen/text_size_12px" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_collect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="16dp"
android:layout_marginRight="@dimen/padding_16px"
android:src="@drawable/iv_example_collection_n" />
<androidx.appcompat.widget.AppCompatTextView
@ -56,28 +56,28 @@
android:layout_height="wrap_content"
android:layout_below="@id/tv_des_dialog_series"
android:layout_alignStart="@id/tv_content_dialog_series"
android:layout_marginTop="5dp"
android:paddingHorizontal="6dp"
android:layout_marginTop="@dimen/padding_5px"
android:paddingHorizontal="@dimen/padding_6px"
android:text="111"
android:textColor="#FFDAA4"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_height="@dimen/padding_1px"
android:layout_below="@id/tv_tag"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="13dp"
android:layout_marginHorizontal="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_13px"
android:background="#25FFDAA4" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_ep"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
android:text="Episodes"
android:layout_marginTop="12dp"
android:layout_marginTop="@dimen/padding_12px"
android:layout_alignStart="@id/tv_des_dialog_series"
android:layout_below="@id/line"
android:textColor="#FFFFFF" />
@ -86,9 +86,9 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data_dialog_series"
android:layout_width="match_parent"
android:layout_height="240dp"
android:layout_height="@dimen/padding_240px"
android:layout_below="@id/tv_ep"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp" />
android:layout_marginTop="@dimen/padding_20px"
android:layout_marginRight="@dimen/padding_15px" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -17,7 +17,7 @@
android:id="@+id/example_iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginTop="@dimen/padding_16px"
android:scaleType="fitXY"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -30,7 +30,7 @@
android:gravity="center"
android:text="Enable Notifications"
android:textColor="#FFDAA4"
android:textSize="18dp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -40,22 +40,22 @@
android:id="@+id/iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginTop="@dimen/padding_24px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/example_tv_title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/example_tv_content"
android:layout_width="161dp"
android:layout_width="@dimen/padding_161px"
android:layout_height="wrap_content"
android:layout_marginLeft="36dp"
android:layout_marginTop="28dp"
android:layout_marginRight="36dp"
android:layout_marginLeft="@dimen/padding_36px"
android:layout_marginTop="@dimen/padding_28px"
android:layout_marginRight="@dimen/padding_36px"
android:gravity="center"
android:text="Confirm to delete series from Favorites"
android:textColor="#FFFFFF"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_icon" />
@ -64,11 +64,11 @@
android:id="@+id/example_tv_think_again"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:layout_marginTop="@dimen/padding_18px"
android:gravity="center"
android:text="Confirm"
android:textColor="#FFDAA4"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -79,9 +79,9 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_close_notification"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginTop="26dp"
android:layout_width="@dimen/padding_36px"
android:layout_height="@dimen/padding_36px"
android:layout_marginTop="@dimen/padding_26px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl" />

View File

@ -22,11 +22,11 @@
android:id="@+id/tv_hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="52dp"
android:layout_marginLeft="@dimen/padding_25px"
android:layout_marginTop="@dimen/padding_52px"
android:text="Hello Visitor!"
android:textColor="#FFFFFF"
android:textSize="20dp"
android:textSize="@dimen/text_size_20px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -36,7 +36,7 @@
android:layout_height="wrap_content"
android:text="Endless Binge, Short Dramas."
android:textColor="#70FFFFFF"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
app:layout_constraintLeft_toLeftOf="@id/tv_hello"
app:layout_constraintTop_toBottomOf="@id/tv_hello" />
@ -50,9 +50,9 @@
<RelativeLayout
android:id="@+id/rl_top"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginHorizontal="25dp"
android:layout_marginTop="12dp"
android:layout_height="@dimen/padding_44px"
android:layout_marginHorizontal="@dimen/padding_25px"
android:layout_marginTop="@dimen/padding_12px"
android:background="@drawable/bg_home_top"
app:layout_constraintTop_toBottomOf="@id/tv_txt">
@ -61,7 +61,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:src="@drawable/iv_example_search" />
<com.jia.er.nebuluxe.app.ui.ScrollTextView
@ -69,23 +69,23 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:layout_marginRight="@dimen/padding_16px"
android:layout_toRightOf="@id/example_iv_search_home"
android:gravity="center_vertical"
android:paddingLeft="23dp"
android:paddingLeft="@dimen/padding_23px"
android:singleLine="true"
android:text="Find content you like"
android:textColor="#B7B7B7"
android:textSize="14dp" />
android:textSize="@dimen/text_size_14px" />
</RelativeLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="72dp"
android:layout_height="@dimen/padding_0px"
android:layout_marginBottom="@dimen/padding_72px"
android:orientation="vertical"
android:paddingTop="8dp"
android:paddingTop="@dimen/padding_8px"
android:scrollbars="none"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/rl_top">
@ -93,17 +93,17 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="@dimen/padding_12px"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_filters"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginLeft="@dimen/padding_25px"
android:text="Filters"
android:textColor="#FFFFFF"
android:textSize="16dp"
android:textSize="@dimen/text_size_16px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -111,52 +111,52 @@
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="@dimen/padding_12px"
app:layout_constraintTop_toBottomOf="@id/tv_filters">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_hot"
android:layout_width="0dp"
android:layout_width="@dimen/padding_0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableTop="@drawable/iv_hot"
android:gravity="center"
android:text="Hot"
android:textColor="#FFFFFF"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_top"
android:layout_width="0dp"
android:layout_width="@dimen/padding_0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableTop="@drawable/iv_top"
android:gravity="center"
android:text="Top"
android:textColor="#FFFFFF"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_fresh"
android:layout_width="0dp"
android:layout_width="@dimen/padding_0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableTop="@drawable/iv_fresh"
android:gravity="center"
android:text="Fresh"
android:textColor="#FFFFFF"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_genre"
android:layout_width="0dp"
android:layout_width="@dimen/padding_0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableTop="@drawable/iv_genre"
android:gravity="center"
android:text="Genre"
android:textColor="#FFFFFF"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -164,8 +164,8 @@
android:id="@+id/cl_fs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="25dp"
android:layout_marginTop="12dp"
android:layout_marginHorizontal="@dimen/padding_25px"
android:layout_marginTop="@dimen/padding_12px"
android:orientation="vertical"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/ll"
@ -176,22 +176,22 @@
android:layout_height="wrap_content"
android:text="Featured Series"
android:textColor="#FFFFFF"
android:textSize="16dp"
android:textSize="@dimen/text_size_16px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_fs"
android:layout_marginTop="6dp"
android:layout_marginTop="@dimen/padding_6px"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:cardCornerRadius="20dp"
app:cardElevation="0dp">
android:layout_marginTop="@dimen/padding_16px"
app:cardCornerRadius="@dimen/padding_20px"
app:cardElevation="@dimen/padding_0px">
<RelativeLayout
android:layout_width="match_parent"
@ -200,30 +200,30 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_fs"
android:layout_width="match_parent"
android:layout_height="174dp"
android:layout_height="@dimen/padding_174px"
android:scaleType="centerCrop" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="11dp"
android:layout_marginTop="10dp"
android:layout_marginHorizontal="@dimen/padding_11px"
android:layout_marginTop="@dimen/padding_10px"
android:ellipsize="end"
android:maxLines="1"
android:text="fracture and rebirth after fulfillmen"
android:textColor="#FFFFFF"
android:textSize="12dp" />
android:textSize="@dimen/text_size_12px" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_tag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_name"
android:layout_marginHorizontal="11dp"
android:layout_marginHorizontal="@dimen/padding_11px"
android:text="Revenge"
android:textColor="#F0C2E1"
android:textSize="10dp" />
android:textSize="@dimen/text_size_10px" />
</RelativeLayout>
@ -232,8 +232,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_marginRight="14dp"
android:layout_marginBottom="16dp"
android:layout_marginRight="@dimen/padding_14px"
android:layout_marginBottom="@dimen/padding_16px"
android:src="@drawable/iv_item_play" />
</com.google.android.material.card.MaterialCardView>
@ -246,7 +246,7 @@
android:id="@+id/cl_banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="@dimen/padding_12px"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/cl_fs"
tools:visibility="visible">
@ -255,10 +255,10 @@
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginLeft="@dimen/padding_25px"
android:text="Editors Picks"
android:textColor="#FFFFFF"
android:textSize="16dp"
android:textSize="@dimen/text_size_16px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -266,7 +266,7 @@
android:id="@+id/banner_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="@dimen/padding_12px"
app:banner_auto_loop="false"
app:layout_constraintTop_toBottomOf="@id/tv" />
@ -277,7 +277,7 @@
android:id="@+id/cl_banner_b"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="@dimen/padding_12px"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/cl_fs"
tools:visibility="visible">
@ -286,10 +286,10 @@
android:id="@+id/tv_vip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginLeft="@dimen/padding_25px"
android:text="VIP Exclusives"
android:textColor="#FFFFFF"
android:textSize="16dp"
android:textSize="@dimen/text_size_16px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -297,7 +297,7 @@
android:id="@+id/banner_home_b"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginTop="@dimen/padding_16px"
app:banner_auto_loop="false"
app:layout_constraintTop_toBottomOf="@id/tv_vip" />
@ -306,7 +306,7 @@
android:id="@+id/indicator_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginTop="@dimen/padding_12px"
app:normal_drawable="@drawable/iv_indicator_n"
app:selected_drawable="@drawable/iv_indicator_h"
app:layout_constraintLeft_toLeftOf="@id/banner_home_b"

View File

@ -5,13 +5,13 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/iv_home_bg"
android:paddingTop="55dp">
android:paddingTop="@dimen/padding_55px">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/example_iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:src="@drawable/iv_example_back"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -21,7 +21,7 @@
android:id="@+id/sr_free"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="25dp"
android:layout_marginTop="@dimen/padding_25px"
android:forceHasOverlappingRendering="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/example_iv_back"
@ -40,10 +40,10 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_data_free"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginLeft="6dp"
android:layout_height="@dimen/padding_0px"
android:layout_marginLeft="@dimen/padding_6px"
android:layout_marginTop="-12dp"
android:layout_marginRight="16dp"
android:layout_marginRight="@dimen/padding_16px"
android:overScrollMode="never"
android:scrollbars="vertical"
app:layout_constraintBottom_toBottomOf="parent"

View File

@ -25,7 +25,7 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_top"
android:layout_width="match_parent"
android:layout_height="270dp"
android:layout_height="@dimen/padding_270px"
android:scaleType="centerCrop"
android:src="@drawable/ic_me_top"
app:layout_constraintTop_toTopOf="parent" />
@ -33,8 +33,8 @@
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/cl"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="0dp"-->
<!-- android:layout_marginTop="86dp"-->
<!-- android:layout_height="@dimen/padding_0px"-->
<!-- android:layout_marginTop="@dimen/padding_86px"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent">-->
@ -43,9 +43,9 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_avatar"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="62dp"
android:layout_width="@dimen/padding_64px"
android:layout_height="@dimen/padding_64px"
android:layout_marginTop="@dimen/padding_66px"
android:src="@drawable/iv_avatar"
app:layout_constraintLeft_toLeftOf="@id/iv_top"
app:layout_constraintRight_toRightOf="@id/iv_top"
@ -53,15 +53,15 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_login"
android:layout_width="75dp"
android:layout_height="36dp"
android:layout_marginRight="16dp"
android:layout_width="@dimen/padding_75px"
android:layout_height="@dimen/padding_36px"
android:layout_marginRight="@dimen/padding_16px"
android:gravity="center"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingLeft="@dimen/padding_16px"
android:paddingRight="@dimen/padding_16px"
android:text="Log in"
android:textColor="#FFDAA4"
android:textSize="14dp"
android:textSize="@dimen/padding_14px"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@id/tv_user_name"
app:layout_constraintRight_toRightOf="parent"
@ -71,10 +71,10 @@
android:id="@+id/tv_user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginTop="@dimen/padding_10px"
android:text="User"
android:textColor="#FFffff"
android:textSize="18sp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="@id/iv_avatar"
app:layout_constraintRight_toRightOf="@id/iv_avatar"
@ -83,12 +83,12 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_id"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:layout_marginTop="8dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:layout_height="@dimen/padding_18px"
android:layout_marginTop="@dimen/padding_8px"
android:paddingLeft="@dimen/padding_12px"
android:paddingRight="@dimen/padding_12px"
android:textColor="#50FFFFFF"
android:textSize="12dp"
android:textSize="@dimen/padding_12px"
app:layout_constraintLeft_toLeftOf="@id/tv_user_name"
app:layout_constraintRight_toRightOf="@id/tv_user_name"
app:layout_constraintTop_toBottomOf="@id/tv_user_name"
@ -98,8 +98,8 @@
android:id="@+id/store"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="18dp"
android:layout_marginHorizontal="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_18px"
android:scaleType="fitXY"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/tv_user_name" />
@ -107,9 +107,9 @@
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="12dp"
android:layout_height="@dimen/padding_1px"
android:layout_marginHorizontal="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_12px"
android:background="#10FFFFFF"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/store" />
@ -118,11 +118,11 @@
android:id="@+id/tv_coin_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="28dp"
android:layout_marginTop="15dp"
android:layout_marginLeft="@dimen/padding_28px"
android:layout_marginTop="@dimen/padding_15px"
android:text="Coins"
android:textColor="#50FFFFFF"
android:textSize="14dp"
android:textSize="@dimen/padding_14px"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
@ -132,18 +132,18 @@
android:id="@+id/tv_coin_left_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:drawablePadding="6dp"
android:layout_marginTop="@dimen/padding_4px"
android:drawablePadding="@dimen/padding_6px"
android:text="99999"
android:textColor="#FFDAA4"
android:textSize="18dp"
android:textSize="@dimen/padding_18px"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@id/tv_coin_left"
app:layout_constraintTop_toBottomOf="@id/tv_coin_left" />
<View
android:layout_width="1dp"
android:layout_height="36dp"
android:layout_width="@dimen/padding_1px"
android:layout_height="@dimen/padding_36px"
android:background="#10ffffff"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/tv_coin_left_num"
@ -155,10 +155,10 @@
android:id="@+id/tv_coin_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="60dp"
android:layout_marginLeft="@dimen/padding_60px"
android:text="Bonus"
android:textColor="#50FFFFFF"
android:textSize="14dp"
android:textSize="@dimen/padding_14px"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintLeft_toRightOf="@id/tv_coin_left"
@ -168,11 +168,11 @@
android:id="@+id/tv_coin_right_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:drawablePadding="6dp"
android:layout_marginTop="@dimen/padding_4px"
android:drawablePadding="@dimen/padding_6px"
android:text="99999"
android:textColor="#FFDAA4"
android:textSize="18dp"
android:textSize="@dimen/padding_18px"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@id/tv_coin_right"
app:layout_constraintTop_toBottomOf="@id/tv_coin_right" />
@ -181,7 +181,7 @@
android:id="@+id/wallet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="28dp"
android:layout_marginRight="@dimen/padding_28px"
app:layout_constraintBottom_toBottomOf="@id/tv_coin_left_num"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_coin_left" />
@ -191,9 +191,9 @@
android:id="@+id/cl_vip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginLeft="@dimen/padding_12px"
android:layout_marginRight="@dimen/padding_12px"
android:visibility="gone"
android:layout_marginRight="12dp"
app:layout_constraintTop_toBottomOf="@id/tv_id">
<androidx.appcompat.widget.AppCompatImageView
@ -207,8 +207,8 @@
android:id="@+id/iv_vip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="11dp"
android:layout_marginTop="11dp"
android:layout_marginLeft="@dimen/padding_11px"
android:layout_marginTop="@dimen/padding_11px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -216,7 +216,7 @@
android:id="@+id/iv_txt_vip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginLeft="@dimen/padding_4px"
app:layout_constraintBottom_toBottomOf="@id/iv_vip"
app:layout_constraintLeft_toRightOf="@id/iv_vip"
app:layout_constraintTop_toTopOf="@id/iv_vip" />
@ -225,7 +225,7 @@
android:id="@+id/iv_super"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginLeft="@dimen/padding_8px"
app:layout_constraintBottom_toBottomOf="@id/iv_txt_vip"
app:layout_constraintLeft_toRightOf="@id/iv_txt_vip"
app:layout_constraintTop_toTopOf="@id/iv_txt_vip" />
@ -234,8 +234,8 @@
android:id="@+id/iv_vip_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:layout_marginRight="35dp"
android:layout_marginTop="@dimen/padding_11px"
android:layout_marginRight="@dimen/padding_35px"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -243,7 +243,7 @@
android:id="@+id/iv_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginLeft="@dimen/padding_8px"
app:layout_constraintBottom_toBottomOf="@id/iv_vip_lock"
app:layout_constraintLeft_toRightOf="@id/iv_vip_lock"
app:layout_constraintTop_toTopOf="@id/iv_vip_lock" />
@ -252,10 +252,10 @@
android:id="@+id/tv_vip_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginLeft="@dimen/padding_5px"
android:text="Quarterly VIP"
android:textColor="#FFFFFF"
android:textSize="14dp"
android:textSize="@dimen/padding_14px"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/iv_vip"
@ -266,10 +266,10 @@
android:id="@+id/tv_vip_des"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginTop="@dimen/padding_2px"
android:text="Unlimited access to all series"
android:textColor="#714B29"
android:textSize="12dp"
android:textSize="@dimen/padding_12px"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@id/iv_vip"
app:layout_constraintTop_toBottomOf="@id/tv_vip_type" />
@ -278,13 +278,13 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_info_vip"
android:layout_width="match_parent"
android:layout_height="24dp"
android:layout_marginTop="8dp"
android:layout_height="@dimen/padding_24px"
android:layout_marginTop="@dimen/padding_8px"
android:gravity="center_vertical"
android:paddingLeft="12dp"
android:paddingLeft="@dimen/padding_12px"
android:text="Auto-renewal. Cancel anytime"
android:textColor="#FFFFFF"
android:textSize="12dp"
android:textSize="@dimen/padding_12px"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@id/tv_vip_des"
app:layout_constraintTop_toBottomOf="@id/tv_vip_des" />
@ -295,12 +295,12 @@
android:id="@+id/ll_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="18dp"
android:layout_marginRight="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_18px"
android:layout_marginRight="@dimen/padding_16px"
android:orientation="horizontal"
android:paddingLeft="11dp"
android:paddingRight="11dp"
android:paddingLeft="@dimen/padding_11px"
android:paddingRight="@dimen/padding_11px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_vip">
@ -309,17 +309,17 @@
style="@style/MineBtnPan">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_width="@dimen/padding_22px"
android:layout_height="@dimen/padding_22px"
android:src="@mipmap/ic_btn_me_language" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="14dp"
android:paddingTop="@dimen/padding_14px"
android:text="@string/btn_language"
android:textColor="@color/text_color_gray"
android:textSize="12sp" />
android:textSize="@dimen/text_size_12px" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -329,17 +329,17 @@
style="@style/MineBtnPan">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_width="@dimen/padding_22px"
android:layout_height="@dimen/padding_22px"
android:src="@mipmap/ic_btn_me_privacy_policy" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="14dp"
android:paddingTop="@dimen/padding_14px"
android:text="@string/btn_privacy_policy"
android:textColor="@color/text_color_gray"
android:textSize="12sp" />
android:textSize="@dimen/text_size_12px" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -348,17 +348,17 @@
style="@style/MineBtnPan">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_width="@dimen/padding_22px"
android:layout_height="@dimen/padding_22px"
android:src="@mipmap/ic_btn_me_delete_account" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="14dp"
android:paddingTop="@dimen/padding_14px"
android:text="@string/btn_delet_account"
android:textColor="@color/text_color_gray"
android:textSize="12sp" />
android:textSize="@dimen/text_size_12px" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -368,12 +368,12 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="18dp"
android:layout_marginRight="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_18px"
android:layout_marginRight="@dimen/padding_16px"
android:orientation="horizontal"
android:paddingLeft="11dp"
android:paddingRight="11dp"
android:paddingLeft="@dimen/padding_11px"
android:paddingRight="@dimen/padding_11px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_top">
@ -382,17 +382,17 @@
style="@style/MineBtnPan">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_width="@dimen/padding_22px"
android:layout_height="@dimen/padding_22px"
android:src="@mipmap/ic_btn_me_help_center" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="14dp"
android:paddingTop="@dimen/padding_14px"
android:text="@string/btn_help_center"
android:textColor="@color/text_color_gray"
android:textSize="12sp" />
android:textSize="@dimen/text_size_12px" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -402,17 +402,17 @@
style="@style/MineBtnPan">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_width="@dimen/padding_22px"
android:layout_height="@dimen/padding_22px"
android:src="@mipmap/ic_btn_me_user_agreement" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="14dp"
android:paddingTop="@dimen/padding_14px"
android:text="@string/btn_user_agreement"
android:textColor="@color/text_color_gray"
android:textSize="12sp" />
android:textSize="@dimen/text_size_12px" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -422,17 +422,17 @@
style="@style/MineBtnPan">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_width="@dimen/padding_22px"
android:layout_height="@dimen/padding_22px"
android:src="@mipmap/ic_btn_me_about" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="14dp"
android:paddingTop="@dimen/padding_14px"
android:text="@string/btn_about_us"
android:textColor="@color/text_color_gray"
android:textSize="12sp" />
android:textSize="@dimen/text_size_12px" />
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -4,24 +4,24 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="6dp">
android:layout_marginStart="@dimen/padding_12px"
android:layout_marginTop="@dimen/padding_6px">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/example_iv_icon_ceo"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_width="@dimen/padding_50px"
android:layout_height="@dimen/padding_50px"
android:scaleType="centerCrop"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:strokeColor="#F0C2E1"
app:strokeWidth="1dp" />
app:strokeWidth="@dimen/padding_1px" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/view"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_width="@dimen/padding_0px"
android:layout_height="@dimen/padding_0px"
android:background="@drawable/bg_circle"
app:layout_constraintBottom_toBottomOf="@id/example_iv_icon_ceo"
app:layout_constraintLeft_toLeftOf="@id/example_iv_icon_ceo"

View File

@ -4,9 +4,9 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="20dp"
android:layout_marginRight="16dp"
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_20px"
android:layout_marginRight="@dimen/padding_16px"
tools:background="@color/black">
@ -14,16 +14,16 @@
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="65dp"
android:layout_marginTop="@dimen/padding_65px"
app:layout_constraintTop_toTopOf="parent">
<androidx.cardview.widget.CardView
android:id="@+id/example_cardView"
android:layout_width="match_parent"
android:layout_height="440dp"
app:cardCornerRadius="30dp"
app:cardElevation="0dp">
android:layout_height="@dimen/padding_440px"
app:cardCornerRadius="@dimen/padding_30px"
app:cardElevation="@dimen/padding_0px">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_cover"
@ -44,8 +44,8 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/example_iv_icon_ceo"
android:layout_width="90dp"
android:layout_height="120dp"
android:layout_width="@dimen/padding_90px"
android:layout_height="@dimen/padding_120px"
android:scaleType="centerCrop"
app:layout_constraintBottom_toTopOf="@id/rl"
app:layout_constraintLeft_toLeftOf="parent"
@ -55,12 +55,12 @@
android:id="@+id/tv_rank_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="13dp"
android:layout_marginLeft="@dimen/padding_10px"
android:layout_marginRight="@dimen/padding_13px"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/white"
android:textSize="13dp"
android:textSize="@dimen/text_size_13px"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@id/example_iv_icon_ceo"
app:layout_constraintTop_toTopOf="@id/example_iv_icon_ceo"
@ -70,12 +70,12 @@
android:id="@+id/tv_rank_tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:layout_marginTop="@dimen/padding_3px"
android:ellipsize="end"
android:gravity="center"
android:lineSpacingExtra="1dp"
android:lineSpacingExtra="@dimen/padding_1px"
android:textColor="#F0C2E1"
android:textSize="10dp"
android:textSize="@dimen/text_size_10px"
app:layout_constraintLeft_toLeftOf="@id/tv_rank_name"
app:layout_constraintTop_toBottomOf="@id/tv_rank_name"
tools:text="Satisfying,Marriage" />

View File

@ -4,8 +4,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp">
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginRight="@dimen/padding_16px">
<RelativeLayout
android:id="@+id/rl"
@ -18,34 +18,34 @@
android:id="@+id/tv_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="18dp"
android:layout_marginTop="21dp"
android:layout_marginLeft="@dimen/padding_18px"
android:layout_marginTop="@dimen/padding_21px"
android:text="CEO"
android:textColor="#0F0F0F"
android:textSize="15dp" />
android:textSize="@dimen/text_size_15px" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="16dp"
android:layout_marginRight="21dp"
android:layout_marginTop="@dimen/padding_16px"
android:layout_marginRight="@dimen/padding_21px"
android:text="43\nDramas"
android:textColor="#0F0F0F"
android:textSize="12dp" />
android:textSize="@dimen/text_size_12px" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_genres_item"
android:layout_width="match_parent"
android:layout_height="140dp"
android:layout_marginTop="10dp"
android:layout_height="@dimen/padding_140px"
android:layout_marginTop="@dimen/padding_10px"
android:layout_below="@id/tv_type"
android:background="@drawable/bg_genres"
android:layout_marginLeft="10dp"
android:paddingLeft="7dp"
android:paddingRight="10dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="@dimen/padding_10px"
android:paddingLeft="@dimen/padding_7px"
android:paddingRight="@dimen/padding_10px"
android:layout_marginRight="@dimen/padding_10px"
tools:itemCount="1"
tools:listitem="@layout/item_genres_img" />
@ -53,8 +53,8 @@
<View
android:id="@+id/line"
android:layout_width="38dp"
android:layout_height="3dp"
android:layout_width="@dimen/padding_38px"
android:layout_height="@dimen/padding_3px"
android:background="#E3D4FF"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

View File

@ -3,14 +3,14 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="3dp">
android:layout_marginTop="@dimen/padding_10px"
android:layout_marginLeft="@dimen/padding_3px">
<com.google.android.material.card.MaterialCardView
android:layout_width="90dp"
android:layout_height="120dp"
app:cardCornerRadius="10dp"
app:cardElevation="0dp"
android:layout_width="@dimen/padding_90px"
android:layout_height="@dimen/padding_120px"
app:cardCornerRadius="@dimen/padding_10px"
app:cardElevation="@dimen/padding_0px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent">

View File

@ -4,8 +4,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp">
android:layout_marginStart="@dimen/padding_12px"
android:layout_marginTop="@dimen/padding_12px">
<RelativeLayout
android:layout_width="match_parent"
@ -21,7 +21,7 @@
<com.jia.er.nebuluxe.app.ui.PosterStyleImageView
android:id="@+id/iv_hot"
android:layout_width="match_parent"
android:layout_height="222dp"
android:layout_height="@dimen/padding_222px"
android:layout_below="@id/iv_top"
android:scaleType="centerCrop" />
@ -30,8 +30,8 @@
android:layout_height="wrap_content"
android:layout_alignRight="@id/iv_hot"
android:layout_alignBottom="@id/iv_hot"
android:layout_marginRight="14dp"
android:layout_marginBottom="16dp"
android:layout_marginRight="@dimen/padding_14px"
android:layout_marginBottom="@dimen/padding_16px"
android:src="@drawable/iv_item_play" />
</RelativeLayout>

View File

@ -3,15 +3,15 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="11dp"
android:layout_marginTop="11dp">
android:layout_marginLeft="@dimen/padding_11px"
android:layout_marginTop="@dimen/padding_11px">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/example_tv_num_data"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_height="@dimen/padding_48px"
android:gravity="center"
android:textSize="16dp"
android:textSize="@dimen/text_size_16px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />

View File

@ -4,15 +4,15 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="12dp"
android:layout_marginRight="16dp">
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_12px"
android:layout_marginRight="@dimen/padding_16px">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="#272727"
app:cardCornerRadius="16dp"
app:cardCornerRadius="@dimen/padding_16px"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
@ -23,25 +23,25 @@
android:id="@+id/tv_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="@dimen/padding_10px"
android:layout_marginTop="@dimen/padding_10px"
android:background="@drawable/bg_rank_other"
android:gravity="center"
android:paddingTop="4dp"
android:paddingTop="@dimen/padding_4px"
android:text="1"
android:textColor="#4F2500"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.cardview.widget.CardView
android:id="@+id/example_cardView"
android:layout_width="112dp"
android:layout_height="146dp"
android:layout_width="@dimen/padding_112px"
android:layout_height="@dimen/padding_146px"
android:layout_alignParentRight="true"
app:cardCornerRadius="10dp"
app:cardElevation="0dp">
app:cardCornerRadius="@dimen/padding_10px"
app:cardElevation="@dimen/padding_0px">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_cover"
@ -56,14 +56,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/tv_num"
android:layout_marginLeft="10dp"
android:layout_marginRight="13dp"
android:layout_marginLeft="@dimen/padding_10px"
android:layout_marginRight="@dimen/padding_13px"
android:layout_toLeftOf="@id/example_cardView"
android:layout_toRightOf="@id/tv_num"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/white"
android:textSize="13dp"
android:textSize="@dimen/text_size_13px"
android:textStyle="bold"
tools:text="Transmigration Love" />
@ -73,12 +73,12 @@
android:layout_height="wrap_content"
android:layout_below="@id/tv_rank_name"
android:layout_alignStart="@id/tv_rank_name"
android:layout_marginTop="3dp"
android:layout_marginTop="@dimen/padding_3px"
android:ellipsize="end"
android:gravity="center"
android:lineSpacingExtra="1dp"
android:lineSpacingExtra="@dimen/padding_1px"
android:textColor="#FFE8C4"
android:textSize="10dp"
android:textSize="@dimen/text_size_10px"
tools:text="Satisfying,Marriage" />
@ -88,11 +88,11 @@
android:layout_height="wrap_content"
android:layout_below="@id/tv_num"
android:layout_alignStart="@id/tv_num"
android:layout_marginTop="10dp"
android:layout_marginTop="@dimen/padding_10px"
android:drawableStart="@drawable/iv_item_rank_heat"
android:drawablePadding="3dp"
android:drawablePadding="@dimen/padding_3px"
android:textColor="#FFffff"
android:textSize="10dp"
android:textSize="@dimen/text_size_10px"
tools:text="15.6K" />
@ -102,16 +102,16 @@
android:layout_height="wrap_content"
android:layout_below="@id/tv_rank_watch"
android:layout_alignStart="@id/tv_num"
android:layout_marginTop="15dp"
android:layout_marginRight="13dp"
android:layout_marginTop="@dimen/padding_15px"
android:layout_marginRight="@dimen/padding_13px"
android:layout_toLeftOf="@id/example_cardView"
android:background="@drawable/iv_des_bg"
android:ellipsize="end"
android:maxLines="2"
android:paddingHorizontal="21dp"
android:paddingTop="10dp"
android:paddingHorizontal="@dimen/padding_21px"
android:paddingTop="@dimen/padding_10px"
android:textColor="#C7C7C7"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
tools:text="The scumbag treated her as a stunt double and neglected her for five years. Unexpectedly, his wife was the white moonlight he had been searching." />
</RelativeLayout>

View File

@ -11,7 +11,7 @@
android:id="@+id/iv_no_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="130dp"
android:layout_marginTop="@dimen/padding_130px"
android:src="@drawable/iv_no_data"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -21,11 +21,11 @@
android:id="@+id/tv_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_margin="@dimen/padding_10px"
android:gravity="center"
android:padding="10dp"
android:padding="@dimen/padding_10px"
android:text="No connection"
android:textSize="18sp"
android:textSize="@dimen/text_size_18px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_no_data"
@ -40,7 +40,7 @@
android:gravity="center"
android:text="No Data"
android:textColor="#FFDAA4"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

View File

@ -10,7 +10,7 @@
android:id="@+id/example_iv_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="130dp"
android:layout_marginTop="@dimen/padding_130px"
android:src="@drawable/iv_no_data"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -20,11 +20,11 @@
android:id="@+id/tv_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_margin="@dimen/padding_10px"
android:gravity="center"
android:padding="10dp"
android:padding="@dimen/padding_10px"
android:text="No connection"
android:textSize="18sp"
android:textSize="@dimen/text_size_18px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/example_iv_empty"
@ -36,10 +36,10 @@
android:id="@+id/example_tv_no_network"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:layout_marginTop="@dimen/padding_18px"
android:text="@string/example_no_network"
android:textColor="#FFDAA4"
android:textSize="16dp"
android:textSize="@dimen/text_size_16px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -49,17 +49,17 @@
android:id="@+id/tv_example_retry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="14dp"
android:paddingLeft="@dimen/padding_14px"
android:gravity="center"
android:paddingTop="5dp"
android:paddingRight="14dp"
android:paddingBottom="5dp"
android:layout_marginTop="15dp"
android:paddingTop="@dimen/padding_5px"
android:paddingRight="@dimen/padding_14px"
android:paddingBottom="@dimen/padding_5px"
android:layout_marginTop="@dimen/padding_15px"
android:textStyle="bold"
android:layout_marginRight="14dp"
android:layout_marginRight="@dimen/padding_14px"
android:text="Retry"
android:textColor="#FFDAA4"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/example_tv_no_network" />

View File

@ -10,7 +10,7 @@
android:id="@+id/example_iv_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="130dp"
android:layout_marginTop="@dimen/padding_130px"
android:src="@drawable/iv_no_data"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -20,11 +20,11 @@
android:id="@+id/tv_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_margin="@dimen/padding_10px"
android:gravity="center"
android:padding="10dp"
android:padding="@dimen/padding_10px"
android:text="No connection"
android:textSize="18sp"
android:textSize="@dimen/text_size_18px"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/example_iv_empty"
@ -36,10 +36,10 @@
android:id="@+id/example_tv_no_network"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:layout_marginTop="@dimen/padding_18px"
android:text="Sorry, the system couldn't find this short."
android:textColor="#FFDAA4"
android:textSize="16dp"
android:textSize="@dimen/text_size_16px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@ -49,16 +49,16 @@
android:id="@+id/tv_example_retry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginRight="14dp"
android:layout_marginTop="@dimen/padding_15px"
android:layout_marginRight="@dimen/padding_14px"
android:gravity="center"
android:paddingLeft="14dp"
android:paddingTop="5dp"
android:paddingRight="14dp"
android:paddingBottom="5dp"
android:paddingLeft="@dimen/padding_14px"
android:paddingTop="@dimen/padding_5px"
android:paddingRight="@dimen/padding_14px"
android:paddingBottom="@dimen/padding_5px"
android:text="Return"
android:textColor="#FFDAA4"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

View File

@ -7,6 +7,6 @@
<View
android:id="@+id/loadingView"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_height="@dimen/padding_20px"
android:background="#36F2FF" />
</FrameLayout>

View File

@ -7,10 +7,10 @@
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="18dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/padding_18px"
app:cardElevation="@dimen/padding_0px"
app:strokeColor="#FFDAA4"
app:strokeWidth="1dp">
app:strokeWidth="@dimen/padding_1px">
<androidx.media3.ui.PlayerView
android:id="@+id/player_view"

View File

@ -16,13 +16,13 @@
android:id="@+id/example_tv_title_player_controller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="55dp"
android:lineSpacingExtra="1dp"
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginTop="@dimen/padding_55px"
android:lineSpacingExtra="@dimen/padding_1px"
android:lineSpacingMultiplier="1.1"
android:text="Love Adventure Under Contract"
android:textColor="#FFDAA4"
android:textSize="18dp"
android:textSize="@dimen/text_size_18px"
android:textStyle="bold" />
@ -31,21 +31,21 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/example_ll_bottom_controller"
android:layout_marginBottom="10dp"
android:layout_marginBottom="@dimen/padding_10px"
android:gravity="center_horizontal"
android:textColor="@color/white"
android:textSize="20sp"
android:textSize="@dimen/text_size_20px"
android:visibility="invisible"
tools:text="00:00/02:24" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/example_ll_bottom_controller"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_height="@dimen/padding_20px"
android:layout_alignParentBottom="true"
android:layout_marginLeft="19dp"
android:layout_marginRight="19dp"
android:layout_marginBottom="19dp"
android:layout_marginLeft="@dimen/padding_19px"
android:layout_marginRight="@dimen/padding_19px"
android:layout_marginBottom="@dimen/padding_19px"
android:gravity="center"
android:orientation="vertical">
@ -53,23 +53,23 @@
android:id="@+id/example_seekBar_player_controller"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:maxHeight="2dp"
android:paddingStart="0dp"
android:paddingEnd="0dp"
android:maxHeight="@dimen/padding_2px"
android:paddingStart="@dimen/padding_0px"
android:paddingEnd="@dimen/padding_0px"
android:progressDrawable="@drawable/bg_example_seekbar_player"
android:splitTrack="false"
android:thumb="@drawable/bg_example_shape_seekbar_player"
android:thumbOffset="8dp" />
android:thumbOffset="@dimen/padding_8px" />
</androidx.appcompat.widget.LinearLayoutCompat>
<com.jia.er.nebuluxe.app.ui.LoadingLine
android:id="@+id/load_line"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_height="@dimen/padding_2px"
android:layout_alignParentBottom="true"
android:layout_marginLeft="19dp"
android:layout_marginRight="19dp"
android:layout_marginBottom="28dp" />
android:layout_marginLeft="@dimen/padding_19px"
android:layout_marginRight="@dimen/padding_19px"
android:layout_marginBottom="@dimen/padding_28px" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/example_iv_play_player_controller"
@ -78,7 +78,7 @@
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:contentDescription="@null"
android:padding="15dp"
android:padding="@dimen/padding_15px"
android:src="@drawable/iv_example_stop" />
<androidx.appcompat.widget.LinearLayoutCompat
@ -86,8 +86,8 @@
android:layout_height="wrap_content"
android:layout_above="@id/cl"
android:layout_alignParentEnd="true"
android:layout_marginRight="16dp"
android:layout_marginBottom="26dp"
android:layout_marginRight="@dimen/padding_16px"
android:layout_marginBottom="@dimen/padding_26px"
android:gravity="center"
android:orientation="vertical">
@ -104,7 +104,7 @@
android:gravity="center"
android:text="111"
android:textColor="#FFDAA4"
android:textSize="12dp"
android:textSize="@dimen/text_size_12px"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
@ -112,23 +112,23 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl"
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_height="@dimen/padding_36px"
android:layout_above="@id/example_ll_bottom_controller"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="6dp">
android:layout_marginLeft="@dimen/padding_16px"
android:layout_marginRight="@dimen/padding_16px"
android:layout_marginBottom="@dimen/padding_6px">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_ep_total"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:drawablePadding="5dp"
android:layout_marginLeft="@dimen/padding_12px"
android:layout_marginRight="@dimen/padding_12px"
android:drawablePadding="@dimen/padding_5px"
android:gravity="left"
android:text="EP.1 / EP.51"
android:textColor="#FFE17D"
android:textSize="14dp"
android:textSize="@dimen/text_size_14px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="VerticalGradientTextView">
<!-- 渐变起始颜色 -->
<attr name="startColor" format="color" />
<!-- 渐变结束颜色 -->
<attr name="endColor" format="color" />
<!-- 渐变方向vertical默认、horizontal -->
<attr name="gradientOrientation" format="enum">
<enum name="vertical" value="0" />
<enum name="horizontal" value="1" />
</attr>
</declare-styleable>
</resources>

View File

@ -13,5 +13,8 @@
<color name="F0C2E1">#F0C2E1</color>
<color name="text_color_gray">#D4D4D4</color>
<color name="text_color_black">#0F0F0F</color>
<color name="text_color_white">#0F0F0F</color>
<color name="bg_black">#111111</color>
<color name="bg_black_light">#1D1D1D</color>
</resources>

File diff suppressed because it is too large Load Diff

View File

@ -19,4 +19,9 @@
<string name="btn_help_center">Help Center</string>
<string name="btn_user_agreement">User Agreement</string>
<string name="btn_about_us">About Us</string>
<string name="toast_wait">Is Developing</string>
<string name="dialog_title_logout">Log out of your account?</string>
<string name="dialog_content_logout">Youll need to sign in again. Unsaved history will be lost.</string>
<string name="dialog_confirm_btn_logout">Log Out</string>
<string name="dialog_cancel_btn_logout">Cancel</string>
</resources>

View File

@ -32,4 +32,4 @@ dependencyResolutionManagement {
rootProject.name = "Nebuluxe"
include(":app")
include(":lib")