From a1df2f6ca666ed22e148beb77d5f746d443a93ef Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 28 Nov 2019 20:34:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5UI=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/base/BaseActivity.java | 12 +++++ .../java/com/gh/base/ToolBarActivity.java | 9 ---- .../java/com/gh/gamecenter/MainActivity.java | 9 ++-- .../gamecenter/home/HomeGameItemViewHolder.kt | 4 +- .../gamecenter/home/amway/HomeAmwayAdapter.kt | 2 +- .../home/slide/HomeSlideListViewHolder.kt | 47 +------------------ app/src/main/res/layout/game_attach_item.xml | 17 +++---- app/src/main/res/layout/home_amway_item.xml | 2 +- app/src/main/res/layout/home_game_item.xml | 27 ++--------- app/src/main/res/layout/home_slide_list.xml | 16 +------ .../main/res/layout/home_slide_list_item.xml | 6 +-- 11 files changed, 42 insertions(+), 109 deletions(-) diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index 13b34c57a0..64830ae49f 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -1,10 +1,13 @@ package com.gh.base; import android.content.Intent; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.TextUtils; +import android.view.Window; +import android.view.WindowManager; import androidx.annotation.NonNull; import androidx.lifecycle.Lifecycle; @@ -213,6 +216,15 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy } + protected void setStatusBarColor(int color) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window window = getWindow(); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + window.setStatusBarColor(color); + } + } + /** * 提供当前 activity 的中文名 (不重载的话为类名) */ diff --git a/app/src/main/java/com/gh/base/ToolBarActivity.java b/app/src/main/java/com/gh/base/ToolBarActivity.java index 757a4f8937..555711576a 100644 --- a/app/src/main/java/com/gh/base/ToolBarActivity.java +++ b/app/src/main/java/com/gh/base/ToolBarActivity.java @@ -235,15 +235,6 @@ public abstract class ToolBarActivity extends BaseActivity implements ToolbarCon return false; } - protected void setStatusBarColor(int color) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - Window window = getWindow(); - window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); - window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); - window.setStatusBarColor(color); - } - } - protected View.OnClickListener provideNavigationItemClickListener() { return view -> onBackPressed(); } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index ab22c337c1..bf8db9ed8d 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -9,6 +9,7 @@ import android.content.SharedPreferences; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.os.Handler; @@ -23,6 +24,9 @@ import android.view.View; import android.view.Window; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.lifecycle.ViewModelProviders; + import com.gh.base.AppUncaughtHandler; import com.gh.base.BaseActivity; import com.gh.base.fragment.BaseFragment_ViewPager; @@ -114,8 +118,6 @@ import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import androidx.annotation.NonNull; -import androidx.lifecycle.ViewModelProviders; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import okhttp3.MediaType; @@ -245,6 +247,7 @@ public class MainActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setStatusBarColor(Color.WHITE); mSp = PreferenceManager.getDefaultSharedPreferences(this); @@ -363,7 +366,7 @@ public class MainActivity extends BaseActivity { } else { toast("本机未安装QQ应用"); } - },null); + }, null); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt index 14e763022d..0ad5875ab1 100644 --- a/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt @@ -1,10 +1,10 @@ package com.gh.gamecenter.home -import android.graphics.Color import com.gh.base.BaseRecyclerViewHolder import com.gh.common.util.RandomUtils import com.gh.gamecenter.databinding.HomeGameItemBinding import com.gh.gamecenter.entity.GameEntity +import com.gh.gamecenter.entity.TagStyleEntity class HomeGameItemViewHolder(val binding: HomeGameItemBinding) : BaseRecyclerViewHolder(binding.root) { @@ -12,8 +12,8 @@ class HomeGameItemViewHolder(val binding: HomeGameItemBinding) : BaseRecyclerVie fun bindGame(game: GameEntity) { val homeTags = game.homeSetting.tags if (homeTags.isNotEmpty()) game.tagStyle = homeTags + game.tagStyle = arrayListOf(TagStyleEntity(name = game.brief ?: "", color = "999999")) binding.data = game - binding.title.setTextColor(Color.parseColor(game.homeSetting.textColor)) val hierarchy = binding.gameImage.hierarchy if (!hierarchy.hasPlaceholderImage()) { diff --git a/app/src/main/java/com/gh/gamecenter/home/amway/HomeAmwayAdapter.kt b/app/src/main/java/com/gh/gamecenter/home/amway/HomeAmwayAdapter.kt index 3e5692393c..ec60d1128e 100644 --- a/app/src/main/java/com/gh/gamecenter/home/amway/HomeAmwayAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/home/amway/HomeAmwayAdapter.kt @@ -37,7 +37,7 @@ class HomeAmwayAdapter(context: Context, holder.itemView.layoutParams?.width = if (position == itemCount - 1) { mMaxWidth - } else mMaxWidth - 36F.dip2px() + } else mMaxWidth - 60F.dip2px() val amway = dataList[position] holder.bindAmway(amway) diff --git a/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListViewHolder.kt b/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListViewHolder.kt index 6d1c97ce01..f037ea77af 100644 --- a/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListViewHolder.kt @@ -2,17 +2,12 @@ package com.gh.gamecenter.home.slide import android.annotation.SuppressLint import android.view.MotionEvent -import android.widget.CheckedTextView -import android.widget.LinearLayout import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.PagerSnapHelper import androidx.recyclerview.widget.RecyclerView import com.gh.base.BaseRecyclerViewHolder import com.gh.common.util.MtaHelper -import com.gh.common.util.dip2px -import com.gh.common.view.DrawableView import com.gh.common.view.FixLinearLayoutManager -import com.gh.gamecenter.R import com.gh.gamecenter.databinding.HomeSlideListBinding import com.gh.gamecenter.entity.HomeSlide @@ -23,11 +18,7 @@ class HomeSlideListViewHolder(val binding: HomeSlideListBinding) : BaseRecyclerV val context = binding.recyclerView.context var adapter = binding.recyclerView.adapter if (adapter is HomeSlideListAdapter) { - if (slideList.size != binding.slideHintContainer.childCount) { - setSlideHint(binding.slideHintContainer, slideList.size) - } adapter.checkResetData(slideList) - // 刷新页面时有可能动画会出现混乱 binding.recyclerView.postDelayed({ updateZoomAnimation() }, 200) return @@ -40,8 +31,8 @@ class HomeSlideListViewHolder(val binding: HomeSlideListBinding) : BaseRecyclerV binding.recyclerView.layoutManager = layoutManager binding.recyclerView.adapter = adapter binding.recyclerView.onFlingListener = null + binding.recyclerView.scrollToPosition(adapter.itemCount/2) snapHelper.attachToRecyclerView(binding.recyclerView) - setSlideHint(binding.slideHintContainer, slideList.size) binding.recyclerView.addOnItemTouchListener(object : RecyclerView.SimpleOnItemTouchListener() { override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean { val isStop = e.action == MotionEvent.ACTION_DOWN || e.action == MotionEvent.ACTION_MOVE @@ -50,7 +41,6 @@ class HomeSlideListViewHolder(val binding: HomeSlideListBinding) : BaseRecyclerV } }) binding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() { - var lastPosition = -1 var lastStatePosition = -1 var lastScrollState = RecyclerView.SCROLL_STATE_IDLE @@ -73,22 +63,6 @@ class HomeSlideListViewHolder(val binding: HomeSlideListBinding) : BaseRecyclerV } override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { - // 提示圆点控制 - val view = snapHelper.findSnapView(layoutManager) - var position = 0 - if (view != null) { - position = adapter.getActualPosition(layoutManager.getPosition(view)) - } - if (lastPosition != position) { - for (index in 0 until binding.slideHintContainer.childCount) { - val hint = binding.slideHintContainer.getChildAt(index) - if (hint is CheckedTextView) { - hint.isChecked = index == position - } - } - lastPosition = position - } - updateZoomAnimation() } }) @@ -118,23 +92,4 @@ class HomeSlideListViewHolder(val binding: HomeSlideListBinding) : BaseRecyclerV } } } - - private fun setSlideHint(container: LinearLayout, count: Int) { - container.removeAllViews() - val margin = 4F.dip2px() - var i = 0 - while (i < count) { - val view = CheckedTextView(container.context) - val params = LinearLayout.LayoutParams(margin, margin) - view.background = DrawableView.getOvalSelectorStyle(R.color.text_D8D8D8, R.color.theme) - if (i != 0) { - params.leftMargin = margin - } else { - view.isChecked = true - } - view.layoutParams = params - container.addView(view) - i++ - } - } } \ No newline at end of file diff --git a/app/src/main/res/layout/game_attach_item.xml b/app/src/main/res/layout/game_attach_item.xml index 557e6e326c..3eba707804 100644 --- a/app/src/main/res/layout/game_attach_item.xml +++ b/app/src/main/res/layout/game_attach_item.xml @@ -24,8 +24,8 @@ @@ -34,8 +34,8 @@ android:id="@+id/game_icon" style="@style/frescoStyle" imageIcon="@{game.icon}" - android:layout_width="56dp" - android:layout_height="56dp" + android:layout_width="48dp" + android:layout_height="48dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -59,8 +59,9 @@ android:id="@+id/game_name" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginLeft="8dp" - android:layout_marginRight="8dp" + android:layout_marginLeft="12dp" + android:layout_marginRight="12dp" + android:includeFontPadding="false" android:singleLine="true" android:text="@{game.name}" android:textColor="@color/text_333333" @@ -79,8 +80,8 @@ setMaxGameTags="@{3}" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginLeft="8dp" - android:layout_marginTop="6dp" + android:layout_marginLeft="12dp" + android:layout_marginTop="8dp" android:orientation="horizontal" android:singleLine="true" android:textSize="10sp" diff --git a/app/src/main/res/layout/home_amway_item.xml b/app/src/main/res/layout/home_amway_item.xml index e6aca30c5c..a22e5d80e2 100644 --- a/app/src/main/res/layout/home_amway_item.xml +++ b/app/src/main/res/layout/home_amway_item.xml @@ -205,7 +205,7 @@ android:id="@+id/all" android:layout_width="40dp" android:layout_height="0dp" - android:layout_marginLeft="8dp" + android:layout_marginLeft="12dp" android:layout_marginRight="8dp" android:background="@drawable/home_amway_selector" android:gravity="center" diff --git a/app/src/main/res/layout/home_game_item.xml b/app/src/main/res/layout/home_game_item.xml index 679047b5fc..2d7135bece 100644 --- a/app/src/main/res/layout/home_game_item.xml +++ b/app/src/main/res/layout/home_game_item.xml @@ -36,32 +36,13 @@ app:roundedCornerRadius="5dp" app:viewAspectRatio="1.78" /> - - @@ -88,7 +69,9 @@ layout="@layout/game_attach_item" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="8dp" + android:layout_marginLeft="4dp" + android:layout_marginTop="12dp" + android:layout_marginRight="4dp" app:layout_constraintTop_toBottomOf="@id/game_image" /> diff --git a/app/src/main/res/layout/home_slide_list.xml b/app/src/main/res/layout/home_slide_list.xml index 5a4afbb666..3b2260dfbf 100644 --- a/app/src/main/res/layout/home_slide_list.xml +++ b/app/src/main/res/layout/home_slide_list.xml @@ -12,6 +12,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:layout_marginBottom="12dp" + app:layout_constraintBottom_toBottomOf="parent" android:clipToPadding="false" android:paddingLeft="16dp" android:paddingRight="16dp" @@ -19,20 +21,6 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> - - - diff --git a/app/src/main/res/layout/home_slide_list_item.xml b/app/src/main/res/layout/home_slide_list_item.xml index 7d9976e2bf..af69f82da1 100644 --- a/app/src/main/res/layout/home_slide_list_item.xml +++ b/app/src/main/res/layout/home_slide_list_item.xml @@ -43,8 +43,8 @@ visibleGone="@{!TextUtils.isEmpty(data.title)}" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginLeft="16dp" - android:layout_marginTop="16dp" + android:layout_marginLeft="12dp" + android:layout_marginTop="12dp" android:layout_marginRight="28dp" android:ellipsize="end" android:lineSpacingExtra="4dp" @@ -63,7 +63,7 @@ visibleGone="@{data.linkGame.commentCount >= 10 && data.linkGame.star >= 7}" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="20dp" + android:layout_marginTop="16dp" android:layout_marginRight="12dp" android:src="@drawable/home_rating_background" app:layout_constraintRight_toRightOf="parent"