Просмотр исходного кода

主页功能列表添加hot/new标签

zengjiebin лет назад: 7
Родитель
Сommit
1db50e0722

+ 61 - 9
app/src/main/java/com/sheep/gamegroup/model/entity/HomeListEntity.java

@@ -6,15 +6,17 @@ package com.sheep.gamegroup.model.entity;
  */
 
 public class HomeListEntity {
-private String CreateTime;//	integer ($int64)创建时间,时间戳
-private String Desc;//	string描述
-private String Icon;//	string图标地址
-private String Id;//	integer ($int64)
-private String Jump;//	string跳转(h5填跳转地址,原生:1试玩赚钱,2邀请赚钱,3躺着赚钱,4办卡赚钱)
-private String Order;//	integer ($int64)排序,默认99,越小越靠前
-private String Title;//	string标题
-private int Type;//	integer ($int64)类型(0不跳转,1h5,2原生)
-private String UpdateTime;//	integer ($int64)更新时间
+    private String CreateTime;//	integer ($int64)创建时间,时间戳
+    private String Desc;//	string描述
+    private String Icon;//	string图标地址
+    private String Id;//	integer ($int64)
+    private String Jump;//	string跳转(h5填跳转地址,原生:1试玩赚钱,2邀请赚钱,3躺着赚钱,4办卡赚钱)
+    private String Order;//	integer ($int64)排序,默认99,越小越靠前
+    private String Title;//	string标题
+    private int Type;//	integer ($int64)类型(0不跳转,1h5,2原生)
+    private int IsNew;//	int	  `orm:"column(is_new);null" description:"是否是最新标签 0:不是 1:是"`
+    private int IsHot;//	   int	  `orm:"column(is_hot);null" description:"是否是热门标签 0:不是 1:是"`
+    private String UpdateTime;//	integer ($int64)更新时间
     private String Url;//	integer ($int64)更新时间
 
     public String getUrl() {
@@ -97,4 +99,54 @@ private String UpdateTime;//	integer ($int64)更新时间
     public void setUpdateTime(String updateTime) {
         UpdateTime = updateTime;
     }
+
+    public int getIsNew() {
+        return IsNew;
+    }
+
+    public void setIsNew(int isNew) {
+        IsNew = isNew;
+    }
+
+    public int getIsHot() {
+        return IsHot;
+    }
+
+    public void setIsHot(int isHot) {
+        IsHot = isHot;
+    }
+
+
+
+
+    private boolean isNew(){
+        return IsNew == 1;
+    }
+    private boolean isHot(){
+        return IsHot == 1;
+    }
+
+    public String getTip() {
+        if(isHot()){
+            return "hot";
+        }
+        if(isNew()){
+            return "new";
+        }
+        return "";
+    }
+
+    public boolean hasTip() {
+        return isHot() || isNew();
+    }
+
+    public int getTipColor() {
+        if(isHot()){
+            return 0xffff0000;
+        }
+        if(isNew()){
+            return 0xff00ff00;
+        }
+        return 0x00ffffff;
+    }
 }

+ 11 - 5
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpHomeListGrideview.java

@@ -13,6 +13,7 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
@@ -48,10 +49,14 @@ public class AdpHomeListGrideview extends BaseAdapter {
 
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
-        ViewHolder holder = null;
-        if(holder == null){
+        Object tag = convertView!= null ? convertView.getTag() : null;
+        ViewHolder holder;
+        if(tag instanceof ViewHolder){
+            holder = (ViewHolder) convertView.getTag();
+        }else {
             holder = new ViewHolder();
             convertView = LayoutInflater.from(context).inflate(R.layout.adp_homelist_gridview, null);
+            holder.hot_tv = convertView.findViewById(R.id.hot_tv);
             holder.gridview_item_name_tv = convertView.findViewById(R.id.gridview_item_name_tv);
             holder.gridview_item_detail_tv = convertView.findViewById(R.id.gridview_item_detail_tv);
             holder.gridview_item_icon_iv = convertView.findViewById(R.id.gridview_item_icon_iv);
@@ -61,10 +66,11 @@ public class AdpHomeListGrideview extends BaseAdapter {
             int h = cricleRadius  / 2 - 20;
             convertView.setLayoutParams(new AbsListView.LayoutParams(cricleRadius, h));
             convertView.setTag(holder);
-        }else {
-            holder = (ViewHolder) convertView.getTag();
         }
         final HomeListEntity entity = getItem(position);
+        ViewUtil.setText(holder.hot_tv, entity.getTip());
+        holder.hot_tv.setVisibility(entity.hasTip()?View.VISIBLE: View.GONE);
+        holder.hot_tv.setTextColor(entity.getTipColor());
         holder.gridview_item_name_tv.setText(entity.getTitle()+"");
         holder.gridview_item_detail_tv.setText(entity.getDesc()+"");
         Glide.with(context)
@@ -82,7 +88,7 @@ public class AdpHomeListGrideview extends BaseAdapter {
     }
 
     class ViewHolder{
-        TextView gridview_item_name_tv, gridview_item_detail_tv;
+        TextView gridview_item_name_tv, gridview_item_detail_tv, hot_tv;
         ImageView gridview_item_icon_iv;
     }
 }

+ 11 - 5
app/src/main/java/com/sheep/gamegroup/view/adapter/AdpHomeListListview.java

@@ -12,6 +12,7 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 
 import java.util.List;
@@ -46,20 +47,25 @@ public class AdpHomeListListview extends BaseAdapter {
 
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
-        ViewHolder holder = null;
-        if(holder == null){
+        Object tag = convertView!= null ? convertView.getTag() : null;
+        ViewHolder holder;
+        if(tag instanceof ViewHolder){
+            holder = (ViewHolder) convertView.getTag();
+        }else {
             holder = new ViewHolder();
             convertView = LayoutInflater.from(context).inflate(R.layout.adp_homelist_listview,null);
 
+            holder.hot_tv = convertView.findViewById(R.id.hot_tv);
             holder.q_iv = convertView.findViewById(R.id.q_iv);
             holder.q_name_tv = convertView.findViewById(R.id.q_name_tv);
             holder.q_dec_tv = convertView.findViewById(R.id.q_dec_tv);
             holder.line_ly_q_view = convertView.findViewById(R.id.line_ly_q_view);
             convertView.setTag(holder);
-        }else {
-            holder = (ViewHolder) convertView.getTag();
         }
         final HomeListEntity entity = getItem(position);
+        ViewUtil.setText(holder.hot_tv, entity.getTip());
+        holder.hot_tv.setVisibility(entity.hasTip()?View.VISIBLE: View.GONE);
+        holder.hot_tv.setTextColor(entity.getTipColor());
         Glide.with(context)
                 .load(entity.getIcon())
                 .apply(new RequestOptions().dontAnimate())
@@ -85,7 +91,7 @@ public class AdpHomeListListview extends BaseAdapter {
 
     class ViewHolder{
         ImageView q_iv;
-        TextView q_name_tv, q_dec_tv;
+        TextView q_name_tv, q_dec_tv, hot_tv;
         View line_ly_q_view;
     }
 }

+ 52 - 35
app/src/main/res/layout/adp_homelist_gridview.xml

@@ -1,41 +1,58 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
     android:orientation="horizontal"
-    android:gravity="center"
-    android:layout_gravity="center_vertical"
-    android:paddingLeft="@dimen/content_padding_15"
-    android:paddingRight="@dimen/content_padding_10"
-    android:paddingTop="@dimen/content_padding_small"
     android:paddingBottom="@dimen/content_padding_small"
-    android:background="@drawable/x_shap_shadow_bg_rectgangle_white">
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:layout_gravity="center_vertical"
-            android:layout_marginRight="@dimen/content_padding_small">
+    android:paddingEnd="@dimen/content_padding_10"
+    android:paddingStart="@dimen/content_padding_15"
+    android:paddingTop="@dimen/content_padding_small">
 
-            <TextView
-                android:id="@+id/gridview_item_name_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="试玩赚钱"
-                style="@style/nomal_txt_style"/>
-            <TextView
-                android:id="@+id/gridview_item_detail_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="下载应用领现金"
-                style="@style/nomal_txt_style_11"/>
-        </LinearLayout>
-        <ImageView
-            android:id="@+id/gridview_item_icon_iv"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:maxHeight="@dimen/view_size_65"
-            android:maxWidth="@dimen/view_size_65"
-            android:src="@mipmap/home_try_play_circle_bg"
-            android:adjustViewBounds="true"/>
-</LinearLayout>
+    <TextView
+        android:id="@+id/gridview_item_name_tv"
+        style="@style/nomal_txt_style"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="试玩赚钱"
+        app:layout_constraintBottom_toTopOf="@+id/gridview_item_detail_tv"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/gridview_item_detail_tv"
+        style="@style/nomal_txt_style_11"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="@dimen/content_padding_10"
+        android:text="下载应用领现金"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toStartOf="@+id/gridview_item_icon_iv"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/gridview_item_name_tv" />
+
+    <TextView
+        android:id="@+id/hot_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/content_padding_10"
+        android:layout_marginTop="6dp"
+        android:text="hot~"
+        android:textSize="13sp"
+        android:textColor="@color/red"
+        app:layout_constraintStart_toEndOf="@+id/gridview_item_name_tv"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="@+id/gridview_item_name_tv"/>
+
+    <ImageView
+        android:id="@+id/gridview_item_icon_iv"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:adjustViewBounds="true"
+        android:maxHeight="@dimen/view_size_65"
+        android:maxWidth="@dimen/view_size_65"
+        android:src="@mipmap/home_try_play_circle_bg"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toEndOf="@+id/gridview_item_detail_tv" />
+</android.support.constraint.ConstraintLayout>

+ 12 - 0
app/src/main/res/layout/adp_homelist_listview.xml

@@ -41,4 +41,16 @@
         android:background="@color/bg_gray"
         app:layout_constraintBottom_toBottomOf="parent"/>
 
+    <TextView
+        android:id="@+id/hot_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/content_padding_10"
+        android:layout_marginTop="6dp"
+        android:text="hot~"
+        android:textSize="13sp"
+        android:textColor="@color/red"
+        app:layout_constraintStart_toEndOf="@+id/q_name_tv"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="@+id/q_name_tv"/>
 </android.support.constraint.ConstraintLayout>