diff --git a/base/src/main/java/com/heyongrui/base/assist/ConfigConstants.java b/base/src/main/java/com/heyongrui/base/assist/ConfigConstants.java
index bfb060a..7c437d5 100644
--- a/base/src/main/java/com/heyongrui/base/assist/ConfigConstants.java
+++ b/base/src/main/java/com/heyongrui/base/assist/ConfigConstants.java
@@ -23,6 +23,7 @@ public class ConfigConstants {
public static final String PATH_PLANET_BALL = "/main/planetBall";
public static final String PATH_HOME_PROVIDER = "/home/main/service";
//user模块路由路径
+ public static final String PATH_ENCOURAGE = "/user/encourage";
public static final String PATH_KOTLIN = "/user/kotlin";
public static final String PATH_LOGIN = "/user/login";
public static final String PATH_USER = "/user/activity";
@@ -49,8 +50,6 @@ public class ConfigConstants {
public static final String PATH_GANK = "/module2/gank";
public static final String PATH_LEISURE_READ = "/module2/leisureRead";
public static final String PATH_WELFARE = "/module2/welfare";
- public static final String PATH_ABOUT = "/module2/about";
- public static final String PATH_ENCOURAGE = "/module2/encourage";
public static final String PATH_TODAY_HISTORY = "/module2/todayHistory";
//科大讯飞Iflytek模块路径
public static final String PATH_VOICE_DICATION_PROVIDER = "/iflytek/service";
diff --git a/base/src/main/java/com/heyongrui/base/widget/MarqueeTextView.java b/base/src/main/java/com/heyongrui/base/widget/MarqueeTextView.java
new file mode 100644
index 0000000..2d1adfd
--- /dev/null
+++ b/base/src/main/java/com/heyongrui/base/widget/MarqueeTextView.java
@@ -0,0 +1,29 @@
+package com.heyongrui.base.widget;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import androidx.appcompat.widget.AppCompatTextView;
+
+/**
+ * 自定义跑马灯TextView,不随焦点改变
+ */
+public class MarqueeTextView extends AppCompatTextView {
+
+ public MarqueeTextView(Context context) {
+ this(context, null);
+ }
+
+ public MarqueeTextView(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ @Override
+ public boolean isFocused() {
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/base/src/main/res/drawable/bg_circle_shadow.xml b/base/src/main/res/drawable/bg_circle_shadow.xml
new file mode 100644
index 0000000..3bfda15
--- /dev/null
+++ b/base/src/main/res/drawable/bg_circle_shadow.xml
@@ -0,0 +1,140 @@
+
+
+ -
+
+
-
+
+
-
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
-
+
+
-
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/main/src/main/java/com/heyongrui/main/HomeFragment.java b/main/src/main/java/com/heyongrui/main/HomeFragment.java
index 563193d..e41b99e 100644
--- a/main/src/main/java/com/heyongrui/main/HomeFragment.java
+++ b/main/src/main/java/com/heyongrui/main/HomeFragment.java
@@ -1,16 +1,32 @@
package com.heyongrui.main;
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.TypedValue;
+import android.view.Gravity;
import android.view.View;
-import android.widget.Button;
+import android.view.ViewGroup;
+
+import androidx.annotation.DrawableRes;
+import androidx.core.content.ContextCompat;
import com.alibaba.android.arouter.launcher.ARouter;
+import com.blankj.utilcode.util.ConvertUtils;
import com.heyongrui.base.assist.ConfigConstants;
import com.heyongrui.base.base.BaseFragment;
+import com.heyongrui.base.widget.MarqueeTextView;
import com.heyongrui.base.widget.numberruntextview.NumberRunningTextView;
+import com.heyongrui.base.widget.planetball.adapter.PlanetAdapter;
+import com.heyongrui.base.widget.planetball.view.PlanetBallView;
import com.heyongrui.base.widget.tickerview.TickerUtils;
import com.heyongrui.base.widget.tickerview.TickerView;
+import com.heyongrui.main.data.dto.FloatingDto;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Random;
public class HomeFragment extends BaseFragment implements View.OnClickListener {
@@ -24,8 +40,8 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
public static HomeFragment getInstance() {
HomeFragment fragment = new HomeFragment();
Bundle bundle = new Bundle();
- bundle.putInt("tabIconId", R.drawable.icon_mono);
- bundle.putInt("tabTitleId", R.string.app_name);
+ bundle.putInt("tabIconId", R.drawable.ic_tool);
+ bundle.putInt("tabTitleId", R.string.tool);
fragment.setArguments(bundle);
return fragment;
}
@@ -38,11 +54,7 @@ protected int getLayoutId() {
@Override
public void onClick(View v) {
int id = v.getId();
- if (id == R.id.btn_motion) {
- ARouter.getInstance().build(ConfigConstants.PATH_KOTLIN).navigation();
- } else if (id == R.id.btn_planet_ball) {
- ARouter.getInstance().build(ConfigConstants.PATH_PLANET_BALL).navigation();
- } else if (id == R.id.ticker_view) {
+ if (id == R.id.ticker_view) {
if (tickerCount < 5) {
tickerView.setCharacterLists(TickerUtils.provideNumberList());
tickerView.setText("¥" + new Random().nextInt(500) + "." + new Random().nextInt(100));
@@ -63,12 +75,12 @@ public void onClick(View v) {
@Override
protected void initView(Bundle savedInstanceState) {
+ PlanetBallView planetBall = mView.findViewById(R.id.planet_ball);
+ initPlanetBallView(planetBall, getFloatListData());
+
tickerView = mView.findViewById(R.id.ticker_view);
numberRunTv = mView.findViewById(R.id.number_run_tv);
- Button btnMotion = mView.findViewById(R.id.btn_motion);
- Button btnPlanetBall = mView.findViewById(R.id.btn_planet_ball);
-
- addOnClickListeners(this, tickerView, numberRunTv, btnMotion, btnPlanetBall);
+ addOnClickListeners(this, tickerView, numberRunTv);
}
@Override
@@ -76,6 +88,125 @@ protected void initData(Bundle savedInstanceState) {
}
+ private void initPlanetBallView(PlanetBallView planetBallView, List floatingDtoList) {
+ int dp70 = ConvertUtils.dp2px(70);
+ planetBallView.setAdapter(new PlanetAdapter() {
+ @Override
+ public int getCount() {
+ if (null == floatingDtoList || floatingDtoList.isEmpty()) {
+ return 0;
+ } else {
+ return floatingDtoList.size();
+ }
+ }
+
+ @Override
+ public View getView(Context context, int position, ViewGroup parent) {
+ String name = "";
+ int iconRes = R.drawable.ic_launcher;
+ Object item = getItem(position);
+ if (null != item && item instanceof FloatingDto) {
+ name = ((FloatingDto) item).getName();
+ iconRes = ((FloatingDto) item).getIcon_res();
+ }
+ MarqueeTextView marqueeTextView = new MarqueeTextView(context);
+ ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(dp70, dp70);
+ marqueeTextView.setLayoutParams(layoutParams);
+ marqueeTextView.setBackgroundResource(R.drawable.bg_circle_shadow);
+ marqueeTextView.setGravity(Gravity.CENTER);
+ marqueeTextView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
+ marqueeTextView.setMarqueeRepeatLimit(-1);
+ marqueeTextView.setSingleLine(true);
+ marqueeTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10);
+ marqueeTextView.setTextColor(Color.WHITE);
+ marqueeTextView.setText(TextUtils.isEmpty(name) ? "" : name);
+ Drawable drawable = ContextCompat.getDrawable(context, iconRes);
+ drawable.setBounds(0, 0, 80, 80 * drawable.getIntrinsicHeight() / drawable.getIntrinsicWidth());
+ marqueeTextView.setCompoundDrawables(null, drawable, null, null);
+ marqueeTextView.setFocusable(true);
+ marqueeTextView.post(() -> marqueeTextView.onWindowFocusChanged(true));
+ marqueeTextView.setOnClickListener(view -> {
+ if (null != item && item instanceof FloatingDto) {
+ int type = ((FloatingDto) item).getType();
+ switch (type) {
+ case 1://分词解析
+ break;
+ case 2://航班查询
+ break;
+ case 3://身份证查询
+ break;
+ case 4://天气预报
+ break;
+ case 5://新华字典查询
+ break;
+ case 6://成语查询
+ break;
+ case 7://动作布局动画
+ ARouter.getInstance().build(ConfigConstants.PATH_KOTLIN).navigation();
+ break;
+ case 8://星球
+ ARouter.getInstance().build(ConfigConstants.PATH_PLANET_BALL).navigation();
+ break;
+ case 9://垃圾分类
+ ARouter.getInstance().build(ConfigConstants.PATH_GARBAGE_CLASSIFY).navigation();
+ break;
+ case 10://智能机器人对话
+ ARouter.getInstance().build(ConfigConstants.PATH_SMART_ROBOT).navigation();
+ break;
+ case 11://音乐搜索
+ ARouter.getInstance().build(ConfigConstants.PATH_H5).withString("h5Url", "https://ys.juan8014.cn/yin/").navigation();
+ break;
+ }
+ }
+ });
+ return marqueeTextView;
+ }
+
+ @Override
+ public Object getItem(int position) {
+ if (null == floatingDtoList || floatingDtoList.isEmpty()) {
+ return null;
+ } else {
+ return floatingDtoList.get(position);
+ }
+ }
+
+ @Override
+ public int getPopularity(int position) {
+ return position % 10;
+ }
+
+ @Override
+ public void onThemeColorChanged(View view, int themeColor) {
+
+ }
+ });
+ }
+
+ private List getFloatListData() {
+ List floatingDtoList = new ArrayList<>();
+ floatingDtoList.add(creatFloatingDto(getString(R.string.participle_parse), R.drawable.ic_participle, 1));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.flight_query), R.drawable.ic_flight, 2));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.id_card_query), R.drawable.ic_id_card, 3));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.weather_forecast), R.drawable.ic_weather, 4));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.dictionary_query), R.drawable.ic_dictionary, 5));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.idiom_query), R.drawable.ic_idiom, 6));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.motion_layout_anim), R.drawable.ic_anim, 7));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.planet), R.drawable.ic_planet, 8));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.garbage_classify_query), R.drawable.ic_ashcan, 9));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.artificial_intelligence), R.drawable.ic_robot, 10));
+ floatingDtoList.add(creatFloatingDto(getString(R.string.music_search), R.drawable.ic_music_disc, 11));
+ return floatingDtoList;
+ }
+
+ private FloatingDto creatFloatingDto(String name, @DrawableRes int drawableRes, int type) {
+ FloatingDto floatingDto = new FloatingDto();
+ floatingDto.setName(name);
+ floatingDto.setIcon_res(drawableRes);
+ floatingDto.setType(type);
+ return floatingDto;
+ }
+
private String generateChars(Random random, String list, int numDigits) {
final char[] result = new char[numDigits];
for (int i = 0; i < numDigits; i++) {
diff --git a/main/src/main/java/com/heyongrui/main/data/dto/FloatingDto.java b/main/src/main/java/com/heyongrui/main/data/dto/FloatingDto.java
new file mode 100644
index 0000000..e1a850f
--- /dev/null
+++ b/main/src/main/java/com/heyongrui/main/data/dto/FloatingDto.java
@@ -0,0 +1,77 @@
+package com.heyongrui.main.data.dto;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Created by lambert on 2019/9/11.
+ */
+
+public class FloatingDto implements Parcelable {
+ private String name;
+ private int icon_res;
+ private int type;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getIcon_res() {
+ return icon_res;
+ }
+
+ public void setIcon_res(int icon_res) {
+ this.icon_res = icon_res;
+ }
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ public FloatingDto() {
+ }
+
+ public FloatingDto(String name, int icon_res, int type) {
+ this.name = name;
+ this.icon_res = icon_res;
+ this.type = type;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeString(this.name);
+ dest.writeInt(this.icon_res);
+ dest.writeInt(this.type);
+ }
+
+ protected FloatingDto(Parcel in) {
+ this.name = in.readString();
+ this.icon_res = in.readInt();
+ this.type = in.readInt();
+ }
+
+ public static final Creator CREATOR = new Creator() {
+ @Override
+ public FloatingDto createFromParcel(Parcel source) {
+ return new FloatingDto(source);
+ }
+
+ @Override
+ public FloatingDto[] newArray(int size) {
+ return new FloatingDto[size];
+ }
+ };
+}
diff --git a/main/src/main/res/drawable-xhdpi/ic_anim.png b/main/src/main/res/drawable-xhdpi/ic_anim.png
new file mode 100644
index 0000000..4161a02
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_anim.png differ
diff --git a/module/src/main/res/drawable-xhdpi/ic_ashcan.png b/main/src/main/res/drawable-xhdpi/ic_ashcan.png
similarity index 100%
rename from module/src/main/res/drawable-xhdpi/ic_ashcan.png
rename to main/src/main/res/drawable-xhdpi/ic_ashcan.png
diff --git a/main/src/main/res/drawable-xhdpi/ic_dictionary.png b/main/src/main/res/drawable-xhdpi/ic_dictionary.png
new file mode 100644
index 0000000..51cddf8
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_dictionary.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_flight.png b/main/src/main/res/drawable-xhdpi/ic_flight.png
new file mode 100644
index 0000000..298a43e
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_flight.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_id_card.png b/main/src/main/res/drawable-xhdpi/ic_id_card.png
new file mode 100644
index 0000000..9d637a9
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_id_card.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_idiom.png b/main/src/main/res/drawable-xhdpi/ic_idiom.png
new file mode 100644
index 0000000..bc78c41
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_idiom.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_music_disc.png b/main/src/main/res/drawable-xhdpi/ic_music_disc.png
new file mode 100644
index 0000000..05b2858
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_music_disc.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_participle.png b/main/src/main/res/drawable-xhdpi/ic_participle.png
new file mode 100644
index 0000000..af29cc1
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_participle.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_planet.png b/main/src/main/res/drawable-xhdpi/ic_planet.png
new file mode 100644
index 0000000..b04194a
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_planet.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_robot.png b/main/src/main/res/drawable-xhdpi/ic_robot.png
new file mode 100644
index 0000000..561f5c8
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_robot.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_tool.png b/main/src/main/res/drawable-xhdpi/ic_tool.png
new file mode 100644
index 0000000..977c17b
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_tool.png differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_weather.png b/main/src/main/res/drawable-xhdpi/ic_weather.png
new file mode 100644
index 0000000..be29496
Binary files /dev/null and b/main/src/main/res/drawable-xhdpi/ic_weather.png differ
diff --git a/main/src/main/res/layout/fragment_home.xml b/main/src/main/res/layout/fragment_home.xml
index 562f7c6..27a7781 100644
--- a/main/src/main/res/layout/fragment_home.xml
+++ b/main/src/main/res/layout/fragment_home.xml
@@ -12,6 +12,7 @@
android:text="¥69.65"
android:textColor="@color/colorPrimaryDark"
android:textSize="@dimen/sp_30"
+ android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -26,45 +27,26 @@
android:text="58"
android:textColor="@color/colorPrimaryDark"
android:textSize="@dimen/sp_30"
+ android:visibility="gone"
app:duration="1500"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ticker_view" />
-
-
-
-
-
+ app:layout_constraintTop_toTopOf="parent"
+ app:lightColor="#00ff00"
+ app:radiusPercent="0.75"
+ app:scrollSpeed="20" />
\ No newline at end of file
diff --git a/main/src/main/res/values/strings.xml b/main/src/main/res/values/strings.xml
index ec94d8c..7c5d5d4 100644
--- a/main/src/main/res/values/strings.xml
+++ b/main/src/main/res/values/strings.xml
@@ -1,5 +1,16 @@
main
- Gank
+ 工具
再按一次退出程序
+ 分词解析
+ 航班信息查询
+ 身份证信息查询
+ 天气预报
+ 新华字典查询
+ 成语查询
+ 复杂动作布局动画
+ 星球
+ 垃圾分类查询
+ 人工智障
+ 音乐搜索
diff --git a/module/src/main/java/com/heyongrui/module/ModuleFragment.java b/module/src/main/java/com/heyongrui/module/ModuleFragment.java
index 95122e8..2562967 100644
--- a/module/src/main/java/com/heyongrui/module/ModuleFragment.java
+++ b/module/src/main/java/com/heyongrui/module/ModuleFragment.java
@@ -28,8 +28,8 @@ public class ModuleFragment extends BaseFragment {
public static ModuleFragment getInstance() {
ModuleFragment fragment = new ModuleFragment();
Bundle bundle = new Bundle();
- bundle.putInt("tabIconId", R.drawable.ic_mono);
- bundle.putInt("tabTitleId", R.string.mono);
+ bundle.putInt("tabIconId", R.drawable.ic_news);
+ bundle.putInt("tabTitleId", R.string.news);
fragment.setArguments(bundle);
return fragment;
}
@@ -79,22 +79,13 @@ private void initRecyclerView(RecyclerView recyclerView) {
case 3://诗词
ARouter.getInstance().build(ConfigConstants.PATH_POETRY).navigation();
break;
- case 4://探索
- ARouter.getInstance().build(ConfigConstants.PATH_SMART_ROBOT).navigation();
- break;
- case 5://音乐
- ARouter.getInstance().build(ConfigConstants.PATH_H5).withString("h5Url", "https://ys.juan8014.cn/yin/").navigation();
- break;
- case 6://开眼
+ case 4://开眼
ARouter.getInstance().build(ConfigConstants.PATH_KAIYAN_LIST).withInt("type", 1).navigation();
break;
- case 7://垃圾分类
- ARouter.getInstance().build(ConfigConstants.PATH_GARBAGE_CLASSIFY).navigation();
- break;
- case 8://电影
+ case 5://电影
ARouter.getInstance().build(ConfigConstants.PATH_DOUBAN).navigation();
break;
- case 9://知乎日报
+ case 6://知乎日报
ARouter.getInstance().build(ConfigConstants.PATH_ZHIHU_DAILY_NEWS).navigation();
break;
}
@@ -102,12 +93,9 @@ private void initRecyclerView(RecyclerView recyclerView) {
dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.tea), R.drawable.ic_tea, 1)));
dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.hitokoto_title), R.drawable.ic_yiyan, 2)));
dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.poetry), R.drawable.ic_poetry, 3)));
- dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.explore), R.drawable.ic_explore, 4)));
- dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.music), R.drawable.ic_music_disc, 5)));
- dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.kaiyan), R.drawable.ic_kaiyan, 6)));
- dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.garbage_classification2), R.drawable.ic_ashcan, 7)));
- dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.movie), R.drawable.ic_movie, 8)));
- dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.zhihu_daily), R.drawable.ic_zhihu, 9)));
+ dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.kaiyan), R.drawable.ic_kaiyan, 4)));
+ dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.movie), R.drawable.ic_movie, 5)));
+ dataList.add(new ModuleSectionEntity(ModuleSectionEntity.MENU_CARD, new MenuCardDto(getString(R.string.zhihu_daily), R.drawable.ic_zhihu, 6)));
monoAdapter.replaceData(dataList);
}
}
diff --git a/module/src/main/res/drawable-xhdpi/ic_explore.png b/module/src/main/res/drawable-xhdpi/ic_explore.png
deleted file mode 100644
index f0dac5c..0000000
Binary files a/module/src/main/res/drawable-xhdpi/ic_explore.png and /dev/null differ
diff --git a/module/src/main/res/drawable-xhdpi/ic_mono.png b/module/src/main/res/drawable-xhdpi/ic_mono.png
deleted file mode 100644
index 066d93e..0000000
Binary files a/module/src/main/res/drawable-xhdpi/ic_mono.png and /dev/null differ
diff --git a/module/src/main/res/drawable-xhdpi/ic_news.png b/module/src/main/res/drawable-xhdpi/ic_news.png
new file mode 100644
index 0000000..2eac7ee
Binary files /dev/null and b/module/src/main/res/drawable-xhdpi/ic_news.png differ
diff --git a/module/src/main/res/values/strings.xml b/module/src/main/res/values/strings.xml
index 2a77d23..22c706d 100644
--- a/module/src/main/res/values/strings.xml
+++ b/module/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
module
- 猫弄
+ 资讯
早午茶
下午茶
早茶
diff --git a/module2/src/main/AndroidManifest.xml b/module2/src/main/AndroidManifest.xml
index 466826e..4970c68 100644
--- a/module2/src/main/AndroidManifest.xml
+++ b/module2/src/main/AndroidManifest.xml
@@ -5,12 +5,6 @@
-
-
diff --git a/module2/src/main/debug/AndroidManifest.xml b/module2/src/main/debug/AndroidManifest.xml
index 315863a..a9ac3b7 100644
--- a/module2/src/main/debug/AndroidManifest.xml
+++ b/module2/src/main/debug/AndroidManifest.xml
@@ -21,12 +21,6 @@
-
-
diff --git a/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java b/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java
index 82aaa44..93e4f1d 100644
--- a/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java
+++ b/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java
@@ -143,9 +143,6 @@ private void initBalls() {
case 8://瞎推荐
ARouter.getInstance().build(ConfigConstants.PATH_LEISURE_READ).navigation();
break;
- case 9://关于
- ARouter.getInstance().build(ConfigConstants.PATH_ABOUT).navigation();
- break;
}
});
poolBall.addView(floatingActionButton, layoutParams);
@@ -158,12 +155,10 @@ private List getMenuList() {
gankMenuDtos.add(new GankMenuDto(getString(R.string.android), R.drawable.ic_android, 2));
gankMenuDtos.add(new GankMenuDto(getString(R.string.ios), R.drawable.ic_ios, 3));
gankMenuDtos.add(new GankMenuDto(getString(R.string.today_history), R.drawable.ic_history_today, 4));
-// gankMenuDtos.add(new GankMenuDto(getString(R.string.rest_video), R.drawable.ic_video, 4));
gankMenuDtos.add(new GankMenuDto(getString(R.string.front_end), R.drawable.ic_js, 5));
gankMenuDtos.add(new GankMenuDto(getString(R.string.expand), R.drawable.ic_expand, 6));
gankMenuDtos.add(new GankMenuDto(getString(R.string.app), R.drawable.ic_app, 7));
gankMenuDtos.add(new GankMenuDto(getString(R.string.blind_recommend), R.drawable.ic_recommend, 8));
- gankMenuDtos.add(new GankMenuDto(getString(R.string.about), R.drawable.ic_about, 9));
return gankMenuDtos;
}
diff --git a/module2/src/main/java/com/heyongrui/module2/about/view/AboutActivity.java b/module2/src/main/java/com/heyongrui/module2/about/view/AboutActivity.java
deleted file mode 100644
index b264b4e..0000000
--- a/module2/src/main/java/com/heyongrui/module2/about/view/AboutActivity.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.heyongrui.module2.about.view;
-
-import android.content.Intent;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.Nullable;
-import androidx.core.content.ContextCompat;
-
-import com.alibaba.android.arouter.facade.annotation.Route;
-import com.alibaba.android.arouter.launcher.ARouter;
-import com.blankj.utilcode.util.AppUtils;
-import com.heyongrui.base.assist.ConfigConstants;
-import com.heyongrui.base.base.BaseActivity;
-import com.heyongrui.base.utils.DrawableUtil;
-import com.heyongrui.base.utils.UiUtil;
-import com.heyongrui.base.utils.UpdateCheckUtil;
-import com.heyongrui.module2.R;
-
-@Route(path = ConfigConstants.PATH_ABOUT)
-public class AboutActivity extends BaseActivity {
-
- private UpdateCheckUtil mUpdateCheckUtil;
-
- @Override
- protected int getLayoutId() {
- return R.layout.activity_about;
- }
-
- @Override
- protected void init(Bundle savedInstanceState) {
- TextView tvVersion = findViewById(R.id.tv_version);
- tvVersion.setText(AppUtils.getAppVersionName());
- addOnClickListeners(view -> {
- int id = view.getId();
- if (id == R.id.iv_back) {
- finish();
- } else if (id == R.id.cl_author) {
- ARouter.getInstance().build(ConfigConstants.PATH_H5).withString("h5Url", "https://github.com/HeYongRui").navigation();
- } else if (id == R.id.cl_version) {
- if (mUpdateCheckUtil == null) {
- mUpdateCheckUtil = new UpdateCheckUtil(this);
- }
- mUpdateCheckUtil.checkUpdate(getString(R.string.update_url), AppUtils.getAppPackageName() + ".fileProvider", getString(R.string.app_name));
- } else if (id == R.id.cl_encourage) {
- ARouter.getInstance().build(ConfigConstants.PATH_ENCOURAGE).navigation();
- }
- }, R.id.iv_back, R.id.cl_author, R.id.cl_version, R.id.cl_encourage);
- ImageView ivBack = findViewById(R.id.iv_back);
- Drawable drawable = DrawableUtil.tintDrawable(this, R.drawable.ic_back, ContextCompat.getColor(this, R.color.background));
- ivBack.setImageDrawable(drawable);
- UiUtil.setOnclickFeedBack(this, ContextCompat.getColor(this, R.color.background), ContextCompat.getColor(this, R.color.gray), findViewById(R.id.cl_author), findViewById(R.id.cl_version), findViewById(R.id.cl_encourage));
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == UpdateCheckUtil.REQUEST_CODE_APP_INSTALL) {
- if (mUpdateCheckUtil != null) {
- mUpdateCheckUtil.installApp(this, AppUtils.getAppPackageName() + ".fileProvider", getString(R.string.app_name));
- }
- }
- }
-
- @Override
- protected void onDestroy() {
- if (mUpdateCheckUtil != null) {
- mUpdateCheckUtil.cancelTask();
- }
- super.onDestroy();
- }
-}
diff --git a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java
index 0c56e6b..197148e 100644
--- a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java
+++ b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java
@@ -19,6 +19,7 @@
import com.heyongrui.base.glide.GlideApp;
import com.heyongrui.base.utils.TimeUtil;
import com.heyongrui.base.utils.UiUtil;
+import com.heyongrui.base.widget.CollapsedTextView;
import com.heyongrui.module2.R;
import com.heyongrui.module2.data.dto.GankDto;
import com.heyongrui.module2.data.dto.HistoryTodayDto;
@@ -124,7 +125,7 @@ public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition sup
case Module2SectionEntity.TODAY_HISTORY: {
View dashTop = helper.getView(R.id.dash_top);
TextView tvDate = helper.getView(R.id.tv_date);
- TextView tvContent = helper.getView(R.id.tv_content);
+ CollapsedTextView tvContent = helper.getView(R.id.tv_content);
View dashBottom = helper.getView(R.id.dash_bottom);
int layoutPosition = helper.getLayoutPosition();
diff --git a/module2/src/main/res/drawable-xhdpi/ic_about.png b/module2/src/main/res/drawable-xhdpi/ic_about.png
deleted file mode 100644
index 989124f..0000000
Binary files a/module2/src/main/res/drawable-xhdpi/ic_about.png and /dev/null differ
diff --git a/module2/src/main/res/layout/activity_about.xml b/module2/src/main/res/layout/activity_about.xml
deleted file mode 100644
index b3f0cc4..0000000
--- a/module2/src/main/res/layout/activity_about.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/module2/src/main/res/values/strings.xml b/module2/src/main/res/values/strings.xml
index a98421f..fd55fba 100644
--- a/module2/src/main/res/values/strings.xml
+++ b/module2/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
module2
- Gank
+ 干货
轻芒
福利
Android
@@ -11,12 +11,4 @@
拓展
App
瞎推荐
- 关于
- 作者
- 版本
- 鼓励
- 微信扫一扫,或者点击“鼓励”,点击微信右上角菜单中“从相册选取二维码”
- 支付宝扫一扫,或者点击“鼓励”,你的鼓励就是我的动力
- 未安装微信
- 未安装支付宝
diff --git a/user/src/main/AndroidManifest.xml b/user/src/main/AndroidManifest.xml
index 8df7509..981f464 100644
--- a/user/src/main/AndroidManifest.xml
+++ b/user/src/main/AndroidManifest.xml
@@ -11,6 +11,9 @@
+
diff --git a/user/src/main/debug/AndroidManifest.xml b/user/src/main/debug/AndroidManifest.xml
index 0a9c28e..1abef3e 100644
--- a/user/src/main/debug/AndroidManifest.xml
+++ b/user/src/main/debug/AndroidManifest.xml
@@ -24,6 +24,9 @@
+
diff --git a/module2/src/main/java/com/heyongrui/module2/about/view/EncourageActivity.java b/user/src/main/java/com/heyongrui/user/EncourageActivity.java
similarity index 95%
rename from module2/src/main/java/com/heyongrui/module2/about/view/EncourageActivity.java
rename to user/src/main/java/com/heyongrui/user/EncourageActivity.java
index b272bb9..849f21e 100644
--- a/module2/src/main/java/com/heyongrui/module2/about/view/EncourageActivity.java
+++ b/user/src/main/java/com/heyongrui/user/EncourageActivity.java
@@ -1,4 +1,4 @@
-package com.heyongrui.module2.about.view;
+package com.heyongrui.user;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
@@ -18,9 +18,8 @@
import com.heyongrui.base.base.BaseActivity;
import com.heyongrui.base.utils.DialogUtil;
import com.heyongrui.base.utils.DrawableUtil;
-import com.heyongrui.module2.R;
-import com.heyongrui.module2.utils.AliPay;
-import com.heyongrui.module2.utils.WXPay;
+import com.heyongrui.user.utils.AliPay;
+import com.heyongrui.user.utils.WXPay;
import java.util.List;
diff --git a/user/src/main/java/com/heyongrui/user/UserFragment.java b/user/src/main/java/com/heyongrui/user/UserFragment.java
index bf8a372..ce0bd9f 100644
--- a/user/src/main/java/com/heyongrui/user/UserFragment.java
+++ b/user/src/main/java/com/heyongrui/user/UserFragment.java
@@ -1,19 +1,30 @@
package com.heyongrui.user;
+import android.content.Intent;
import android.os.Bundle;
import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.core.content.ContextCompat;
import com.alibaba.android.arouter.launcher.ARouter;
+import com.blankj.utilcode.util.AppUtils;
import com.heyongrui.base.assist.ConfigConstants;
import com.heyongrui.base.base.BaseFragment;
+import com.heyongrui.base.utils.UiUtil;
+import com.heyongrui.base.utils.UpdateCheckUtil;
+
+public class UserFragment extends BaseFragment implements View.OnClickListener {
-public class UserFragment extends BaseFragment {
+ private UpdateCheckUtil mUpdateCheckUtil;
public static UserFragment getInstance() {
UserFragment fragment = new UserFragment();
Bundle bundle = new Bundle();
- bundle.putInt("tabIconId", R.drawable.icon_qingmang);
- bundle.putInt("tabTitleId", R.string.app_name);
+ bundle.putInt("tabIconId", R.drawable.ic_about);
+ bundle.putInt("tabTitleId", R.string.about);
fragment.setArguments(bundle);
return fragment;
}
@@ -24,25 +35,61 @@ protected int getLayoutId() {
}
@Override
- protected void initView(Bundle savedInstanceState) {
- addOnClickListeners(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- int id = view.getId();
- if (id == R.id.tv_user) {
-// Bundle bundle = new Bundle();
+ public void onClick(View view) {
+ int id = view.getId();
+ if (id == R.id.cl_author) {
+ ARouter.getInstance().build(ConfigConstants.PATH_H5).withString("h5Url", "https://github.com/HeYongRui").navigation();
+ } else if (id == R.id.cl_version) {
+ if (mUpdateCheckUtil == null) {
+ mUpdateCheckUtil = new UpdateCheckUtil(_mActivity);
+ }
+ mUpdateCheckUtil.checkUpdate(getString(R.string.update_url), AppUtils.getAppPackageName() + ".fileProvider", getString(R.string.app_name));
+ } else if (id == R.id.cl_encourage) {
+ ARouter.getInstance().build(ConfigConstants.PATH_ENCOURAGE).navigation();
+ } else {
+ Bundle bundle = new Bundle();
// bundle.putString("test", "this is value");
// ARouter.getInstance().build(ConfigConstants.PATH_USER)
// .withBundle("bundle", bundle)
// .withString("key3", "888")
// .navigation();
- ARouter.getInstance().build(ConfigConstants.PATH_USER).withBoolean(ConfigConstants.IS_NEED_INTERCEPT, true).navigation();
- }
- }
- }, R.id.tv_user);
+ ARouter.getInstance().build(ConfigConstants.PATH_USER).withBoolean(ConfigConstants.IS_NEED_INTERCEPT, true).navigation();
+ }
+ }
+
+ @Override
+ protected void initView(Bundle savedInstanceState) {
+ TextView tvVersion = mView.findViewById(R.id.tv_version);
+ ConstraintLayout clAuthor = mView.findViewById(R.id.cl_author);
+ ConstraintLayout clVersion = mView.findViewById(R.id.cl_version);
+ ConstraintLayout clEncourage = mView.findViewById(R.id.cl_encourage);
+ UiUtil.setOnclickFeedBack(mContext, ContextCompat.getColor(mContext, R.color.background),
+ ContextCompat.getColor(mContext, R.color.gray), clAuthor, clVersion, clEncourage);
+
+ tvVersion.setText(AppUtils.getAppVersionName());
+
+ addOnClickListeners(this, clAuthor, clVersion, clEncourage);
}
@Override
protected void initData(Bundle savedInstanceState) {
}
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (requestCode == UpdateCheckUtil.REQUEST_CODE_APP_INSTALL) {
+ if (mUpdateCheckUtil != null) {
+ mUpdateCheckUtil.installApp(_mActivity, AppUtils.getAppPackageName() + ".fileProvider", getString(R.string.app_name));
+ }
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ if (mUpdateCheckUtil != null) {
+ mUpdateCheckUtil.cancelTask();
+ }
+ super.onDestroy();
+ }
}
diff --git a/module2/src/main/java/com/heyongrui/module2/utils/AliPay.java b/user/src/main/java/com/heyongrui/user/utils/AliPay.java
similarity index 98%
rename from module2/src/main/java/com/heyongrui/module2/utils/AliPay.java
rename to user/src/main/java/com/heyongrui/user/utils/AliPay.java
index 25dceed..95a4d19 100644
--- a/module2/src/main/java/com/heyongrui/module2/utils/AliPay.java
+++ b/user/src/main/java/com/heyongrui/user/utils/AliPay.java
@@ -1,4 +1,4 @@
-package com.heyongrui.module2.utils;
+package com.heyongrui.user.utils;
import android.app.Activity;
import android.content.ActivityNotFoundException;
@@ -11,7 +11,7 @@
import android.service.quicksettings.TileService;
import com.blankj.utilcode.util.ToastUtils;
-import com.heyongrui.module2.R;
+import com.heyongrui.user.R;
import java.net.URISyntaxException;
diff --git a/module2/src/main/java/com/heyongrui/module2/utils/WXPay.java b/user/src/main/java/com/heyongrui/user/utils/WXPay.java
similarity index 98%
rename from module2/src/main/java/com/heyongrui/module2/utils/WXPay.java
rename to user/src/main/java/com/heyongrui/user/utils/WXPay.java
index 3ed29f4..8801453 100644
--- a/module2/src/main/java/com/heyongrui/module2/utils/WXPay.java
+++ b/user/src/main/java/com/heyongrui/user/utils/WXPay.java
@@ -1,4 +1,4 @@
-package com.heyongrui.module2.utils;
+package com.heyongrui.user.utils;
import android.content.ComponentName;
import android.content.ContentResolver;
@@ -20,7 +20,7 @@
import androidx.annotation.NonNull;
import com.blankj.utilcode.util.ToastUtils;
-import com.heyongrui.module2.R;
+import com.heyongrui.user.R;
import java.io.Closeable;
import java.io.File;
diff --git a/user/src/main/res/drawable-xhdpi/ic_about.png b/user/src/main/res/drawable-xhdpi/ic_about.png
new file mode 100644
index 0000000..c032c09
Binary files /dev/null and b/user/src/main/res/drawable-xhdpi/ic_about.png differ
diff --git a/module2/src/main/res/drawable-xhdpi/ic_ali_qrcode.png b/user/src/main/res/drawable-xhdpi/ic_ali_qrcode.png
similarity index 100%
rename from module2/src/main/res/drawable-xhdpi/ic_ali_qrcode.png
rename to user/src/main/res/drawable-xhdpi/ic_ali_qrcode.png
diff --git a/module2/src/main/res/drawable-xhdpi/ic_wx_qrcode.png b/user/src/main/res/drawable-xhdpi/ic_wx_qrcode.png
similarity index 100%
rename from module2/src/main/res/drawable-xhdpi/ic_wx_qrcode.png
rename to user/src/main/res/drawable-xhdpi/ic_wx_qrcode.png
diff --git a/user/src/main/res/drawable-xhdpi/icon_qingmang.png b/user/src/main/res/drawable-xhdpi/icon_qingmang.png
deleted file mode 100644
index 713eb98..0000000
Binary files a/user/src/main/res/drawable-xhdpi/icon_qingmang.png and /dev/null differ
diff --git a/module2/src/main/res/layout/activity_encourage.xml b/user/src/main/res/layout/activity_encourage.xml
similarity index 98%
rename from module2/src/main/res/layout/activity_encourage.xml
rename to user/src/main/res/layout/activity_encourage.xml
index 0e50807..3da8e55 100644
--- a/module2/src/main/res/layout/activity_encourage.xml
+++ b/user/src/main/res/layout/activity_encourage.xml
@@ -4,7 +4,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".about.view.EncourageActivity">
+ android:fitsSystemWindows="true"
+ tools:context=".EncourageActivity">
+ android:layout_height="match_parent"
+ android:background="@color/window_background">
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/cv_logo" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/user/src/main/res/values/strings.xml b/user/src/main/res/values/strings.xml
index 02342ab..fad515f 100644
--- a/user/src/main/res/values/strings.xml
+++ b/user/src/main/res/values/strings.xml
@@ -1,3 +1,11 @@
user
+ 关于
+ 作者
+ 版本
+ 鼓励
+ 微信扫一扫,或者点击“鼓励”,点击微信右上角菜单中“从相册选取二维码”
+ 支付宝扫一扫,或者点击“鼓励”,你的鼓励就是我的动力
+ 未安装微信
+ 未安装支付宝