浏览代码

Merge branch 'develop' of https://github.com/swict/LifePlusAndroid into develop

Hasemi 7 年之前
父节点
当前提交
4bd65b7331

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ActivityBase.java

@@ -88,7 +88,7 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
       if (AppUtil.hasNavBar()) {
         findViewById(R.id.layout_container).setPadding(0, 0, 0, ResourceUtil.getNavBarHeightValue());
       }
-      findViewById(R.id.layout_app_bar).setPadding(0, ResourceUtil.getStatusBarHeight(), 0, 0);
+      findViewById(R.id.layout_app_bar).setPadding(0, ResourceUtil.getStatusBarHeightManual(), 0, 0);
 
       StatusBarCompat.setStatusBarColor(this, getResources().getColor(R.color.C33FFFFFF));
 

+ 1 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/helper/ActionBarHelper.java

@@ -246,8 +246,7 @@ public class ActionBarHelper extends Helper {
     else if (isScrollable) {
       // 스크롤 플래그 설정
       toolbarLayoutParams.setScrollFlags(APP_BAR_LAYOUT_SCROLL_PARAM);
-      // 스테이터스 바 위로 스크롤 시키기위해서 높이 조절
-      toolbarLayoutParams.height = ResourceUtil.getDimension(R.dimen.action_bar_height_with_extra_space);
+      toolbarLayoutParams.height = ResourceUtil.getDimension(R.dimen.action_bar_height);
 
       appBarLayoutParams.setBehavior(new CustomHeaderBehavior());
       containerLayoutParams.setBehavior(null);

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/CustomHeaderBehavior.java

@@ -9,6 +9,8 @@ import android.support.design.widget.AppBarLayout;
 import android.support.design.widget.CoordinatorLayout;
 import android.view.View;
 
+import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+
 /**
  * CustomHeaderBehavior
  * <pre>
@@ -70,7 +72,7 @@ public class CustomHeaderBehavior extends AppBarLayout.Behavior {
     if (Math.abs(dy) > 10) {
       if (dy > 0 && isUp == false) {
         isUp = true;
-        ObjectAnimator animation = ObjectAnimator.ofFloat(child, "translationY", -child.getHeight());
+        ObjectAnimator animation = ObjectAnimator.ofFloat(child, "translationY", -child.getHeight() - ResourceUtil.getStatusBarHeightManual());
         animation.setDuration(600);
         animation.start();
       }

+ 3 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsAdapter.java

@@ -103,21 +103,20 @@ public class ContentsAdapter extends RecyclerView.Adapter<ContentsHolder> {
     };
 
     if (holder instanceof ContentsCardHolder) {
-      ((ContentsCardHolder) holder).setItemCount(getItemCount());
       ContentsDetailBean bean = contentsDetailBeans.get(position);
-      holder.bind(position, bean, eventListener);
+      holder.bind(position, bean, getItemCount(), eventListener);
 
     }
     else if (holder instanceof ContentsSeriesHolder) {
       SeriesListBean seriesListBean = new SeriesListBean();
       seriesListBean.setSeriesInfo(seriesInfo);
       seriesListBean.setSeriesItemList(seriesItemBeans);
-      holder.bind(position, seriesListBean, eventListener);
+      holder.bind(position, seriesListBean, getItemCount(), eventListener);
     }
     else {
       Log.e("APP#  ContentsAdapter | onBindViewHolder", "| position: " + position + " - " + this.hashCode());
       ContentsDetailBean bean = contentsDetailBeans.get(position);
-      holder.bind(position, bean, eventListener);
+      holder.bind(position, bean, getItemCount(), eventListener);
     }
   }
 

+ 1 - 7
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsCardHolder.java

@@ -37,7 +37,6 @@ import kr.co.zumo.app.lifeplus.view.Visibler;
  */
 public class ContentsCardHolder extends ContentsHolder<ContentsDetailBean> {
 
-  protected int itemCount;
   protected ImageView imageViewCardListicleCover;
   protected TextView textViewPageNumber;
   protected ConstraintLayout layoutMoreInfo;
@@ -47,8 +46,8 @@ public class ContentsCardHolder extends ContentsHolder<ContentsDetailBean> {
 
   public ContentsCardHolder(View itemView) {
     super(itemView);
-    textViewPageNumber = itemView.findViewById(R.id.text_view_page_number);
     imageViewCardListicleCover = itemView.findViewById(R.id.image_view);
+    textViewPageNumber = itemView.findViewById(R.id.text_view_page_number);
     layoutMoreInfo = itemView.findViewById(R.id.layout_more_info);
     dim0 = itemView.findViewById(R.id.view_dim_0);
     dim1 = itemView.findViewById(R.id.view_dim_1);
@@ -109,7 +108,6 @@ public class ContentsCardHolder extends ContentsHolder<ContentsDetailBean> {
       }
     }
 
-
     textViewPageNumber.setText(String.valueOf(getAdapterPosition()) + " / " + (itemCount - 1));
     textViewPageNumber.setTypeface(null, Typeface.BOLD);
     layoutMoreInfo.setVisibility(View.GONE);
@@ -124,8 +122,4 @@ public class ContentsCardHolder extends ContentsHolder<ContentsDetailBean> {
   public void detach() {
 //    Glide.with(imageViewCardListicleCover).clear(imageViewCardListicleCover);
   }
-
-  public void setItemCount(int itemCount) {
-    this.itemCount = itemCount;
-  }
 }

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsHolder.java

@@ -19,15 +19,17 @@ public abstract class ContentsHolder<T> extends RecyclerView.ViewHolder {
 
   protected T bean;
   protected int index;
+  protected int itemCount;
   protected IEventListener listener;
 
   public ContentsHolder(View itemView) {
     super(itemView);
   }
 
-  public final void bind(int index, T bean, IEventListener listener) {
+  public final void bind(int index, T bean, int itemCount, IEventListener listener) {
     this.index = index;
     this.bean = bean;
+    this.itemCount = itemCount;
     this.listener = listener;
 
     bindInternal();

+ 28 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsHtmlHolder.java

@@ -1,7 +1,10 @@
 package kr.co.zumo.app.lifeplus.view.screen.contents;
 
 import android.annotation.SuppressLint;
+import android.graphics.Bitmap;
+import android.graphics.Typeface;
 import android.net.http.SslError;
+import android.support.constraint.ConstraintLayout;
 import android.util.Log;
 import android.view.View;
 import android.webkit.JavascriptInterface;
@@ -9,6 +12,7 @@ import android.webkit.SslErrorHandler;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
+import android.widget.TextView;
 
 import com.google.gson.Gson;
 
@@ -17,6 +21,7 @@ import kr.co.zumo.app.lifeplus.bean.HtmlBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailBean;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.Visibler;
 import kr.co.zumo.app.lifeplus.view.WebConstant;
 
 /**
@@ -32,10 +37,21 @@ import kr.co.zumo.app.lifeplus.view.WebConstant;
 public class ContentsHtmlHolder extends ContentsHolder<ContentsDetailBean> {
 
   private WebView webView;
+  protected TextView textViewPageNumber;
+  protected ConstraintLayout layoutMoreInfo;
+  protected View dim0;
+  protected View dim1;
+  protected View dim2;
 
   public ContentsHtmlHolder(View itemView) {
     super(itemView);
     webView = itemView.findViewById(R.id.web_view);
+    textViewPageNumber = itemView.findViewById(R.id.text_view_page_number);
+    layoutMoreInfo = itemView.findViewById(R.id.layout_more_info);
+    dim0 = itemView.findViewById(R.id.view_dim_0);
+    dim1 = itemView.findViewById(R.id.view_dim_1);
+    dim2 = itemView.findViewById(R.id.view_dim_2);
+    Visibler.invisible(dim0, dim1, dim2);
   }
 
   @SuppressLint("JavascriptInterface")
@@ -46,6 +62,14 @@ public class ContentsHtmlHolder extends ContentsHolder<ContentsDetailBean> {
     String url = bean.getUtilityUrl();
     if (null != webView && StringUtil.isFull(url)) {
       webView.setWebViewClient(new WebViewClient() {
+
+        @Override
+        public void onPageStarted(WebView view, String url, Bitmap favicon) {
+          super.onPageStarted(view, url, favicon);
+
+          Visibler.visible(dim0, dim1, dim2);
+        }
+
         @Override
         public boolean shouldOverrideUrlLoading(WebView view, String url) {
           view.loadUrl(url);
@@ -65,6 +89,10 @@ public class ContentsHtmlHolder extends ContentsHolder<ContentsDetailBean> {
 
       webView.loadUrl(url);
     }
+
+    textViewPageNumber.setText(String.valueOf(getAdapterPosition()) + " / " + (itemCount - 1));
+    textViewPageNumber.setTypeface(null, Typeface.BOLD);
+    layoutMoreInfo.setVisibility(View.GONE);
   }
 
   @JavascriptInterface

+ 1 - 1
app/src/main/res/layout/activity_main.xml

@@ -30,7 +30,7 @@
     <android.support.v7.widget.Toolbar
       android:id="@+id/toolbar"
       android:layout_width="match_parent"
-      android:layout_height="@dimen/action_bar_height_with_extra_space"
+      android:layout_height="@dimen/action_bar_height"
       android:minHeight="0dp"/>
 
     <RelativeLayout

+ 83 - 0
app/src/main/res/layout/contents_html.xml

@@ -11,4 +11,87 @@
     android:id="@+id/web_view"
     android:layout_width="match_parent"
     android:layout_height="match_parent"/>
+
+  <View
+    android:id="@+id/view_dim_0"
+    android:layout_width="match_parent"
+    android:layout_height="235dp"
+    android:background="@drawable/card_cover_dim_top"
+    android:rotation="180"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toTopOf="parent"/>
+
+  <android.support.constraint.ConstraintLayout
+    android:id="@+id/layout_more_info"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="24dp"
+    android:background="@drawable/rectangle_black_more_info"
+    android:paddingStart="13dp"
+    android:paddingTop="5dp"
+    android:paddingEnd="13dp"
+    android:paddingBottom="5dp"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent">
+
+    <ImageView
+      android:id="@+id/more_info_image"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      app:layout_constraintBottom_toBottomOf="parent"
+      app:layout_constraintEnd_toStartOf="@+id/more_info_text"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toTopOf="parent"
+      app:srcCompat="@drawable/icon_info_arrow"
+      />
+
+    <TextView
+      android:id="@+id/more_info_text"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginStart="2dp"
+      android:gravity="center_horizontal"
+      android:lineSpacingExtra="3.5sp"
+      android:text="@string/more_info"
+      android:textColor="@color/CFFFFFF"
+      android:textSize="12sp"
+      android:textStyle="bold"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintStart_toEndOf="@+id/more_info_image"
+      />
+
+  </android.support.constraint.ConstraintLayout>
+
+  <View
+    android:id="@+id/view_dim_1"
+    android:layout_width="match_parent"
+    android:layout_height="138dp"
+    android:background="@drawable/card_dim_bottom_12"
+    app:layout_constraintBottom_toBottomOf="parent"/>
+
+  <View
+    android:id="@+id/view_dim_2"
+    android:layout_width="166dp"
+    android:layout_height="162dp"
+    android:background="@drawable/dim_card_listicle_3"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"/>
+
+  <TextView
+    android:id="@+id/text_view_page_number"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginEnd="25dp"
+    android:layout_marginBottom="28dp"
+    android:gravity="end"
+    android:lineSpacingExtra="4sp"
+    android:textColor="@color/CFFFFFF"
+    android:textSize="12sp"
+    android:textStyle="bold"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    tools:text="1 / 5"
+    />
 </android.support.constraint.ConstraintLayout>