Skip to content

Commit 5ddb7d4

Browse files
committed
将最小宽度适配相关的代码抽取成单独的模块
1 parent 690abf5 commit 5ddb7d4

82 files changed

Lines changed: 219 additions & 76 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,9 @@ easylauncher {
162162
// 添加构建依赖项:https://developer.android.google.cn/studio/build/dependencies
163163
// api 与 implementation 的区别:https://www.jianshu.com/p/8962d6ba936e
164164
dependencies {
165-
// 基类封装
166165
implementation project(':library:base')
167-
// 控件封装
166+
implementation project(':library:smallestWidth')
168167
implementation project(':library:widget')
169-
// 友盟封装
170168
implementation project(':library:umeng')
171169

172170
implementation libs.deviceCompat

app/src/main/java/com/hjq/demo/other/ArrowDrawable.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import androidx.annotation.Nullable;
2020
import androidx.core.content.ContextCompat;
2121
import com.hjq.demo.R;
22+
import com.hjq.smallest.width.SmallestWidthAdaptation;
2223

2324
/**
2425
* author : 王浩 & Android 轮子哥
@@ -203,8 +204,8 @@ public Builder(@NonNull Context context) {
203204
mContext = context;
204205
mBackgroundColor = ContextCompat.getColor(context, R.color.black);
205206
mShadowColor = ContextCompat.getColor(context, R.color.black20);
206-
mArrowHeight = (int) context.getResources().getDimension(R.dimen.dp_6);
207-
mRadius = (int) context.getResources().getDimension(R.dimen.dp_4);
207+
mArrowHeight = (int) SmallestWidthAdaptation.dp2px(context, 6);
208+
mRadius = (int) SmallestWidthAdaptation.dp2px(context, 4);
208209
mShadowSize = 0;
209210
mArrowOffsetX = 0;
210211
mArrowOffsetY = 0;

app/src/main/java/com/hjq/demo/other/MaterialHeader.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import androidx.annotation.Nullable;
1717
import androidx.core.content.ContextCompat;
1818
import com.hjq.demo.R;
19+
import com.hjq.smallest.width.SmallestWidthAdaptation;
1920
import com.scwang.smart.refresh.header.material.CircleImageView;
2021
import com.scwang.smart.refresh.header.material.MaterialProgressDrawable;
2122
import com.scwang.smart.refresh.layout.api.RefreshHeader;
@@ -62,7 +63,7 @@ public MaterialHeader(@NonNull Context context, @Nullable AttributeSet attrs) {
6263
super(context, attrs, 0);
6364

6465
mSpinnerStyle = SpinnerStyle.MatchLayout;
65-
setMinimumHeight((int) getResources().getDimension(R.dimen.dp_100));
66+
setMinimumHeight((int) SmallestWidthAdaptation.dp2px(context, 100));
6667

6768
mProgressDrawable = new MaterialProgressDrawable(this);
6869
mProgressDrawable.setColorSchemeColors(
@@ -76,7 +77,7 @@ public MaterialHeader(@NonNull Context context, @Nullable AttributeSet attrs) {
7677
mCircleView.setAlpha(0f);
7778
addView(mCircleView);
7879

79-
mCircleDiameter = (int) getResources().getDimension(R.dimen.dp_40);
80+
mCircleDiameter = (int) SmallestWidthAdaptation.dp2px(context, 40);
8081

8182
mBezierPath = new Path();
8283
mBezierPaint = new Paint();
@@ -274,9 +275,9 @@ public MaterialHeader setBallStyle(int style) {
274275
return this;
275276
}
276277
if (style == BALL_STYLE_LARGE) {
277-
mCircleDiameter = (int) getResources().getDimension(R.dimen.dp_56);
278+
mCircleDiameter = (int) SmallestWidthAdaptation.dp2px(getContext(), 56);
278279
} else {
279-
mCircleDiameter = (int) getResources().getDimension(R.dimen.dp_40);
280+
mCircleDiameter = (int) SmallestWidthAdaptation.dp2px(getContext(), 40);
280281
}
281282
// force the bounds of the progress circle inside the circle view to
282283
// update by setting it to null before updating its size and then

app/src/main/java/com/hjq/demo/other/SmartBallPulseFooter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import androidx.annotation.Nullable;
1313
import androidx.core.graphics.ColorUtils;
1414
import com.hjq.demo.R;
15+
import com.hjq.smallest.width.SmallestWidthAdaptation;
1516
import com.scwang.smart.refresh.layout.api.RefreshFooter;
1617
import com.scwang.smart.refresh.layout.api.RefreshLayout;
1718
import com.scwang.smart.refresh.layout.constant.SpinnerStyle;
@@ -54,7 +55,7 @@ public SmartBallPulseFooter(@NonNull Context context) {
5455
public SmartBallPulseFooter(@NonNull Context context, @Nullable AttributeSet attrs) {
5556
super(context, attrs, 0);
5657

57-
setMinimumHeight((int) getResources().getDimension(R.dimen.dp_60));
58+
setMinimumHeight((int) SmallestWidthAdaptation.dp2px(context, 60));
5859

5960
mPaint = new Paint();
6061
mPaint.setColor(Color.WHITE);
@@ -63,8 +64,8 @@ public SmartBallPulseFooter(@NonNull Context context, @Nullable AttributeSet att
6364

6465
mSpinnerStyle = SpinnerStyle.Translate;
6566

66-
mCircleSpacing = getResources().getDimension(R.dimen.dp_2);
67-
mPaint.setTextSize(getResources().getDimension(R.dimen.sp_14));
67+
mCircleSpacing = SmallestWidthAdaptation.dp2px(context, 2);
68+
mPaint.setTextSize(SmallestWidthAdaptation.sp2px(context, 14));
6869
mTextWidth = mPaint.measureText(getContext().getString(R.string.common_no_more_data));
6970
}
7071

app/src/main/java/com/hjq/demo/other/TitleBarStyle.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import androidx.core.content.ContextCompat;
1111
import com.hjq.bar.style.LightBarStyle;
1212
import com.hjq.demo.R;
13+
import com.hjq.smallest.width.SmallestWidthAdaptation;
1314
import com.hjq.widget.view.PressAlphaTextView;
1415

1516
/**
@@ -65,46 +66,46 @@ public int getTitleHorizontalPadding(@NonNull Context context) {
6566

6667
@Override
6768
public int getLeftHorizontalPadding(@NonNull Context context) {
68-
return (int) context.getResources().getDimension(R.dimen.dp_10);
69+
return (int) SmallestWidthAdaptation.dp2px(context, 10);
6970
}
7071

7172
@Override
7273
public int getRightHorizontalPadding(@NonNull Context context) {
73-
return (int) context.getResources().getDimension(R.dimen.dp_10);
74+
return (int) SmallestWidthAdaptation.dp2px(context, 10);
7475
}
7576

7677
@Override
7778
public int getChildVerticalPadding(@NonNull Context context) {
78-
return (int) context.getResources().getDimension(R.dimen.dp_14);
79+
return (int) SmallestWidthAdaptation.dp2px(context, 14);
7980
}
8081

8182
@Override
8283
public float getTitleSize(@NonNull Context context) {
83-
return context.getResources().getDimension(R.dimen.sp_15);
84+
return SmallestWidthAdaptation.sp2px(context, 15);
8485
}
8586

8687
@Override
8788
public float getLeftTitleSize(@NonNull Context context) {
88-
return context.getResources().getDimension(R.dimen.sp_13);
89+
return SmallestWidthAdaptation.sp2px(context, 13);
8990
}
9091

9192
@Override
9293
public float getRightTitleSize(@NonNull Context context) {
93-
return context.getResources().getDimension(R.dimen.sp_13);
94+
return SmallestWidthAdaptation.sp2px(context, 13);
9495
}
9596

9697
@Override
9798
public int getTitleIconPadding(@NonNull Context context) {
98-
return (int) context.getResources().getDimension(R.dimen.dp_2);
99+
return (int) SmallestWidthAdaptation.dp2px(context, 2);
99100
}
100101

101102
@Override
102103
public int getLeftIconPadding(@NonNull Context context) {
103-
return (int) context.getResources().getDimension(R.dimen.dp_2);
104+
return (int) SmallestWidthAdaptation.dp2px(context, 2);
104105
}
105106

106107
@Override
107108
public int getRightIconPadding(@NonNull Context context) {
108-
return (int) context.getResources().getDimension(R.dimen.dp_2);
109+
return (int) SmallestWidthAdaptation.dp2px(context, 2);
109110
}
110111
}

app/src/main/java/com/hjq/demo/other/ToastStyle.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.graphics.drawable.GradientDrawable;
66
import androidx.annotation.NonNull;
77
import com.hjq.demo.R;
8+
import com.hjq.smallest.width.SmallestWidthAdaptation;
89
import com.hjq.toast.style.BlackToastStyle;
910

1011
/**
@@ -27,16 +28,16 @@ protected Drawable getBackgroundDrawable(@NonNull Context context) {
2728

2829
@Override
2930
protected float getTextSize(@NonNull Context context) {
30-
return context.getResources().getDimension(R.dimen.sp_14);
31+
return SmallestWidthAdaptation.sp2px(context, 14);
3132
}
3233

3334
@Override
3435
protected int getHorizontalPadding(@NonNull Context context) {
35-
return (int) context.getResources().getDimension(R.dimen.sp_24);
36+
return (int) SmallestWidthAdaptation.sp2px(context, 24);
3637
}
3738

3839
@Override
3940
protected int getVerticalPadding(@NonNull Context context) {
40-
return (int) context.getResources().getDimension(R.dimen.sp_16);
41+
return (int) SmallestWidthAdaptation.sp2px(context, 16);
4142
}
4243
}

app/src/main/java/com/hjq/demo/ui/activity/common/ImageSelectActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.hjq.demo.widget.StatusLayout;
3333
import com.hjq.permissions.XXPermissions;
3434
import com.hjq.permissions.permission.PermissionLists;
35+
import com.hjq.smallest.width.SmallestWidthAdaptation;
3536
import com.hjq.widget.view.FloatActionButton;
3637
import java.io.File;
3738
import java.util.ArrayList;
@@ -195,7 +196,7 @@ protected void initView() {
195196
// 禁用动画效果
196197
mRecyclerView.setItemAnimator(null);
197198
// 添加分割线
198-
mRecyclerView.addItemDecoration(new GridSpaceDecoration((int) getResources().getDimension(R.dimen.dp_3)));
199+
mRecyclerView.addItemDecoration(new GridSpaceDecoration((int) SmallestWidthAdaptation.dp2px(this, 3)));
199200
// 设置滚动监听
200201
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
201202
@Override

app/src/main/java/com/hjq/demo/ui/activity/common/VideoSelectActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.hjq.demo.widget.StatusLayout;
3737
import com.hjq.permissions.XXPermissions;
3838
import com.hjq.permissions.permission.PermissionLists;
39+
import com.hjq.smallest.width.SmallestWidthAdaptation;
3940
import com.hjq.widget.view.FloatActionButton;
4041
import com.tencent.bugly.library.Bugly;
4142
import java.io.File;
@@ -206,7 +207,7 @@ protected void initView() {
206207
// 禁用动画效果
207208
mRecyclerView.setItemAnimator(null);
208209
// 添加分割线
209-
mRecyclerView.addItemDecoration(new GridSpaceDecoration((int) getResources().getDimension(R.dimen.dp_5)));
210+
mRecyclerView.addItemDecoration(new GridSpaceDecoration((int) SmallestWidthAdaptation.dp2px(this, 5)));
210211
// 设置滚动监听
211212
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
212213
@Override

app/src/main/java/com/hjq/demo/ui/adapter/common/TabAdapter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.hjq.base.BaseAdapter;
1616
import com.hjq.demo.R;
1717
import com.hjq.demo.app.AppAdapter;
18+
import com.hjq.smallest.width.SmallestWidthAdaptation;
1819

1920
/**
2021
* author : Android 轮子哥
@@ -211,8 +212,8 @@ private SlidingViewHolder() {
211212
mTitleView = findViewById(R.id.tv_tab_sliding_title);
212213
mLineView = findViewById(R.id.v_tab_sliding_line);
213214

214-
mDefaultTextSize = (int) getResources().getDimension(R.dimen.sp_14);
215-
mSelectedTextSize = (int) getResources().getDimension(R.dimen.sp_15);
215+
mDefaultTextSize = (int) SmallestWidthAdaptation.sp2px(getContext(), 14);
216+
mSelectedTextSize = (int) SmallestWidthAdaptation.sp2px(getContext(), 15);
216217

217218
mTitleView.setTextSize(TypedValue.COMPLEX_UNIT_PX, mDefaultTextSize);
218219

app/src/main/java/com/hjq/demo/ui/dialog/common/AddressDialog.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.hjq.demo.aop.SingleClick;
2020
import com.hjq.demo.app.AppAdapter;
2121
import com.hjq.demo.ui.adapter.common.TabAdapter;
22+
import com.hjq.smallest.width.SmallestWidthAdaptation;
2223
import com.tencent.bugly.library.Bugly;
2324
import java.io.ByteArrayOutputStream;
2425
import java.io.IOException;
@@ -444,12 +445,12 @@ public AppViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int position)
444445
textView.setGravity(Gravity.CENTER_VERTICAL);
445446
textView.setBackgroundResource(R.drawable.transparent_selector);
446447
textView.setTextColor(Color.parseColor("#222222"));
447-
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.sp_14));
448+
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, SmallestWidthAdaptation.sp2px(parent, 14));
448449
textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
449-
textView.setPadding((int) getResources().getDimension(R.dimen.dp_20),
450-
(int) getResources().getDimension(R.dimen.dp_10),
451-
(int) getResources().getDimension(R.dimen.dp_20),
452-
(int) getResources().getDimension(R.dimen.dp_10));
450+
textView.setPadding((int) SmallestWidthAdaptation.dp2px(getContext(), 20),
451+
(int) SmallestWidthAdaptation.dp2px(getContext(), 10),
452+
(int) SmallestWidthAdaptation.dp2px(getContext(), 20),
453+
(int) SmallestWidthAdaptation.dp2px(getContext(), 10));
453454
// 适配 RTL 特性
454455
textView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);
455456
return new ViewHolder(textView);

0 commit comments

Comments
 (0)