瀏覽代碼

[메인][New] 메인 세로 레이아웃 수정

hyodong.min 7 年之前
父節點
當前提交
1d0b1d0f1e

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

@@ -84,7 +84,7 @@ public abstract class ActivityBase extends AppCompatActivity {
       // TODO: 소프트키 있을경우 판별하여 레이아웃 패딩 추가, 추후 수정예정 
       //소프트키 있을 경우 판별하여 레이아웃 조절
       if (AppUtil.hasNavBar()) {
-        findViewById(R.id.layout_container).setPadding(0, 0, 0, ResourceUtil.getSoftKeyHeight());
+        findViewById(R.id.layout_container).setPadding(0, 0, 0, ResourceUtil.getNavigationBarHeight());
       }
       findViewById(R.id.layout_app_bar).setPadding(0, ResourceUtil.getStatusBarHeight(), 0, 0);
 

+ 10 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/util/ResourceUtil.java

@@ -12,7 +12,6 @@ import android.support.annotation.DrawableRes;
 import android.support.annotation.IdRes;
 import android.support.annotation.StringRes;
 import android.support.v4.content.ContextCompat;
-import android.util.Log;
 import android.util.TypedValue;
 
 import kr.co.zumo.app.lifeplus.application.App;
@@ -174,13 +173,18 @@ public class ResourceUtil {
   }
 
 
-  public static int getSoftKeyHeight() {
-    int softKeyHeight = 0;
+  /**
+   * 네비게이션 바 높이 (하단 바)
+   *
+   * @return
+   */
+  public static int getNavigationBarHeight() {
+    int navigationBarHeight = 0;
     int resourceId = App.getInstance().getContext().getResources().getIdentifier("navigation_bar_height", "dimen", "android");
     if (resourceId > 0) {
-      softKeyHeight = App.getInstance().getContext().getResources().getDimensionPixelSize(resourceId);
+      navigationBarHeight = App.getInstance().getContext().getResources().getDimensionPixelSize(resourceId);
     }
-    Log.e("APP#  ActivityBase | getSoftKeyHeight", "|" + softKeyHeight);
-    return softKeyHeight;
+//    Log.e("APP#  ActivityBase | getNavigationBarHeight", "|" + navigationBarHeight);
+    return navigationBarHeight;
   }
 }

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/MoreInfoDialog.java

@@ -69,7 +69,7 @@ public class MoreInfoDialog extends DialogBottomBase<ICustomDialogListener<MoreI
 
 
     if (AppUtil.hasNavBar()) {
-      getView().getLayoutParams().height = ((SuperModel.getInstance().getScreenHeight() - ResourceUtil.getSoftKeyHeight()) / 2) + ResourceUtil.dpToPx(54);
+      getView().getLayoutParams().height = ((SuperModel.getInstance().getScreenHeight() - ResourceUtil.getNavigationBarHeight()) / 2) + ResourceUtil.dpToPx(54);
     }
 
 

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

@@ -271,7 +271,8 @@ public class MainContentsSnapper extends RecyclerView.OnFlingListener {
           return;
         }
         int offset = snapOffset;
-        if (mRecyclerView.getChildAdapterPosition(targetView) == (mRecyclerView.getAdapter().getItemCount() - 1)) {
+        int viewIndex = mRecyclerView.getChildAdapterPosition(targetView);
+        if (viewIndex == (mRecyclerView.getAdapter().getItemCount() - 1)) {
           /**
            * 보통 뷰일 때 스크롤 타겟 위치
            * - 0 + offset
@@ -312,6 +313,7 @@ public class MainContentsSnapper extends RecyclerView.OnFlingListener {
 
         final int time = calculateTimeForDeceleration(Math.max(Math.abs(dx), Math.abs(dy)));
         Log.i("APP# MainContentsSnapper | onTargetFound", "|" + "time: ---> " + time);
+        Log.i("APP# MainContentsSnapper | onTargetFound", "|" + "dy: ---> " + dy);
         if (time > 0) {
           int newTime = Math.min(TIME_MAX, Math.max(time, TIME_MIN));
           action.update(dx, dy, newTime, mDecelerateInterpolator);

+ 4 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainContentsWeatherHolder.java

@@ -70,13 +70,15 @@ public class MainContentsWeatherHolder extends MainContentsHolder /*implements V
   @Override
   public void init(int index, MainContentsBean bean, IEventListener listener) {
     weather = itemView.findViewById(R.id.layout_container_weather);
+    int statusBarHeight = ResourceUtil.getStatusBarHeightManual();
 
     // 첫 번째 카테고리 내용이 약간 가려지도록 일정 높이를 조절한다.
     ViewGroup.LayoutParams params = itemView.getLayoutParams();
-    params.height = SuperModel.getInstance().getScreenHeight() - ResourceUtil.dpToPx(350);
+    params.height = SuperModel.getInstance().getScreenHeight() - ResourceUtil.dpToPx(330);
 //    itemView.getViewTreeObserver().addOnGlobalLayoutListener(this);
 
-    initWeatherY = ResourceUtil.getDimension(R.dimen.main_contents_weather_margin_top); //weather.getY();
+    initWeatherY = ResourceUtil.getDimension(R.dimen.main_contents_weather_margin_top) + statusBarHeight;
+    itemView.setPadding(itemView.getPaddingLeft(), (int) initWeatherY, itemView.getPaddingRight(), itemView.getPaddingBottom());
     initY = 0; //itemView.getY(); //getScreenY(itemView);
     weather.setOnClickListener(view -> {listener.onEvent(new Event.Builder(Event.CLICK).build());});
     Log.i("APP# MainContentsWeatherHolder | init", "|" + " initY: " + initY + " initWeatherY: " + initWeatherY + ", this: " + this);

+ 4 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainFragment.java

@@ -58,10 +58,13 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
   @Override
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
 
+    int statusBarHeight = ResourceUtil.getStatusBarHeightManual();
     contentsRecyclerView = findViewById(R.id.recycler_view_main);
+//    contentsRecyclerView.setPadding(0, statusBarHeight, 0, 0);
+//    contentsRecyclerView.setClipToPadding(false);
 
     if (contentsRecyclerView.getOnFlingListener() == null) {
-      MainContentsSnapper snapper = new MainContentsSnapper(1000, ResourceUtil.getStatusBarHeightManual() - ResourceUtil.dpToPx(25));
+      MainContentsSnapper snapper = new MainContentsSnapper(1000, statusBarHeight - ResourceUtil.dpToPx(5) /* 리스트 간격보다 5dp 적다 */);
       snapper.attachToRecyclerView(contentsRecyclerView);
     }
 

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

@@ -8,7 +8,7 @@
   android:background="@color/CFFFFFF"
   android:descendantFocusability="blocksDescendants"
   android:orientation="vertical"
-  android:paddingTop="87dp"
+  android:paddingTop="70dp"
   android:paddingBottom="20dp">
 
   <TextView

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

@@ -7,7 +7,7 @@
   android:layout_height="274dp"
   android:background="@color/CFFFFFF"
   android:orientation="vertical"
-  android:paddingTop="@dimen/main_contents_weather_margin_top">
+  tools:paddingTop="@dimen/main_contents_weather_margin_top">
 
   <LinearLayout
     android:id="@+id/layout_container_weather"