浏览代码

Task #1334 [Android] 대시보드 디자인 변경 http://http://13.124.195.61/redmine/issues/1334

aaron 7 年之前
父节点
当前提交
8d36af5f24

+ 68 - 0
.gitignore

@@ -0,0 +1,68 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Android template
+# Built application files
+*.apk
+*.ap_
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+out/
+
+# Gradle files
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+*.log
+
+# Android Studio Navigation editor temp files
+.navigation/
+
+# Android Studio captures folder
+captures/
+
+# IntelliJ
+*.iml
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/gradle.xml
+.idea/assetWizardSettings.xml
+.idea/dictionaries
+.idea/libraries
+.idea/caches
+
+# Keystore files
+# Uncomment the following line if you do not want to check your keystore files in.
+#*.jks
+
+# External native build folder generated in Android Studio 2.2 and later
+.externalNativeBuild
+
+# Google Services (e.g. APIs or Firebase)
+#google-services.json
+
+# Freeline
+freeline.py
+freeline/
+freeline_project_description.json
+
+# fastlane
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots
+fastlane/test_output
+fastlane/readme.md
+

+ 3 - 3
app/src/main/java/kr/co/hanwha/hifive/adapter/MainDashboardListAdapter.java

@@ -9,7 +9,7 @@ import java.util.ArrayList;
 
 import kr.co.hanwha.hifive.R;
 import kr.co.hanwha.hifive.adapter.contract.MainDashboardListContract;
-import kr.co.hanwha.hifive.adapter.viewholder.MainDashboardGridViewHolder;
+import kr.co.hanwha.hifive.adapter.viewholder.MainDashboardListViewHolder;
 import kr.co.hanwha.hifive.adapter.viewholder.MarginViewHolder;
 import kr.co.hanwha.hifive.data.model.DabProjectData;
 import kr.co.hanwha.hifive.util.HFCommonUtil;
@@ -91,7 +91,7 @@ public class MainDashboardListAdapter extends RecyclerView.Adapter<RecyclerView.
         if (viewType == TYPE_TOP_MARGIN) {
             return new MarginViewHolder(parent);
         } else if (viewType == TYPE_PROJECT) {
-            return new MainDashboardGridViewHolder(parent, mOnMainDashboardListListener);
+            return new MainDashboardListViewHolder(parent, mOnMainDashboardListListener);
         }
 
         throw new RuntimeException("############################################################\n" +
@@ -107,7 +107,7 @@ public class MainDashboardListAdapter extends RecyclerView.Adapter<RecyclerView.
         } else if (getItemViewType(position) == TYPE_PROJECT) {
             int index = position - COUNT_TOP_MARGIN;
             DabProjectData data = mListData.get(index);
-            MainDashboardGridViewHolder view = (MainDashboardGridViewHolder) holder;
+            MainDashboardListViewHolder view = (MainDashboardListViewHolder) holder;
             view.onBind(data, mCellWidth);
         }
     }

+ 109 - 0
app/src/main/java/kr/co/hanwha/hifive/adapter/viewholder/MainDashboardListViewHolder.java

@@ -0,0 +1,109 @@
+package kr.co.hanwha.hifive.adapter.viewholder;
+
+import android.support.annotation.NonNull;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import kr.co.hanwha.hifive.HFApplication;
+import kr.co.hanwha.hifive.R;
+import kr.co.hanwha.hifive.adapter.contract.MainDashboardListContract;
+import kr.co.hanwha.hifive.base.BaseViewHolder;
+import kr.co.hanwha.hifive.data.model.DabProjectData;
+import kr.co.hanwha.hifive.enums.ProjectEvaluationType;
+import kr.co.hanwha.hifive.util.HFLogUtil;
+
+/**
+ * Created by aaron on 2018. 8. 8.
+ */
+
+public class MainDashboardListViewHolder extends BaseViewHolder {
+    private LinearLayout mLayoutBody;
+    private View mViewStatus;
+    private TextView mTextViewProject;
+    private TextView mTextViewMember;
+    private TextView mTextViewUnit;
+    private TextView mTextViewLog;
+
+    private MainDashboardListContract.OnMainDashboardListListener mOnMainDashboardListListener;
+
+    public MainDashboardListViewHolder(@NonNull ViewGroup viewGroup,
+                                       MainDashboardListContract.OnMainDashboardListListener onMainDashboardListListener) {
+        super(viewGroup, R.layout.item_main_dashboard_list);
+
+        mOnMainDashboardListListener = onMainDashboardListListener;
+        viewInit();
+    }
+
+    private void viewInit() {
+        mLayoutBody = (LinearLayout) itemView.findViewById(R.id.body_linearLayout);
+        mViewStatus = (ImageView) itemView.findViewById(R.id.status_view);
+        mTextViewProject = (TextView) itemView.findViewById(R.id.project_textView);
+        mTextViewMember = (TextView) itemView.findViewById(R.id.member_textView);
+        mTextViewUnit = (TextView) itemView.findViewById(R.id.unit_textView);
+        mTextViewLog = (TextView) itemView.findViewById(R.id.log_textView);
+    }
+
+    @Override
+    public void onBind(@NonNull Object object, @NonNull final int cellWidth) {
+        super.onBind(object, cellWidth);
+
+        if (object != null && object instanceof DabProjectData) {
+            final DabProjectData data = (DabProjectData) object;
+
+            mTextViewProject.setText(TextUtils.isEmpty(data.getProject_name()) ? "" : data.getProject_name());
+            mTextViewMember.setText(makeMemberStr(data));
+            mTextViewUnit.setText(makeMemberStr(data));
+
+            ProjectEvaluationType evaluationType = ProjectEvaluationType.getTypeFromInteger(data.getEvaluation());
+            switch (evaluationType) {
+                case RED:
+                    mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_r));
+                    break;
+                case YELLOW:
+                    mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_y));
+                    break;
+                case YELLOW_DOUBLE:
+                    mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_2y));
+                    break;
+                default:
+                    mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_g));
+            }
+
+            if (mOnMainDashboardListListener != null) {
+                mLayoutBody.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        mOnMainDashboardListListener.onItemClicked(data);
+                    }
+                });
+            }
+
+            showLogWhenDev(data);
+        }
+    }
+
+    private String makeMemberStr(@NonNull DabProjectData data) {
+        StringBuilder memberStr = new StringBuilder();
+
+        if (data.getListCaptains() != null && data.getListCaptains().size() > 0) {
+            for (int i = 0; i < data.getListCaptains().size(); i++) {
+                String memberName = data.getListCaptains().get(i).getMember_name();
+                memberStr.append(i == 0 ? "" : ", ").append(memberName);
+            }
+        }
+        return memberStr.toString();
+    }
+
+    private void showLogWhenDev(@NonNull DabProjectData data) {
+        if (HFApplication.DEV_LOG) {
+            mTextViewLog.setText(HFLogUtil.getLogData(data));
+            mTextViewLog.setVisibility(View.VISIBLE);
+        } else {
+            mTextViewLog.setVisibility(View.GONE);
+        }
+    }
+}

+ 12 - 0
app/src/main/java/kr/co/hanwha/hifive/enums/ProjectEvaluationType.java

@@ -36,4 +36,16 @@ public enum ProjectEvaluationType {
     public int getCode() {
         return mType;
     }
+
+    public static ProjectEvaluationType getTypeFromInteger(int type) {
+        ProjectEvaluationType evaluationTypeFromInt = NULL;
+
+        for (ProjectEvaluationType evaluationType : ProjectEvaluationType.values()) {
+            if (evaluationType.getCode() == type) {
+                evaluationTypeFromInt = evaluationType;
+                break;
+            }
+        }
+        return evaluationTypeFromInt;
+    }
 }

+ 14 - 27
app/src/main/java/kr/co/hanwha/hifive/screen/main/dashboard/MainDashboardFragment.java

@@ -6,12 +6,12 @@ import android.support.annotation.Nullable;
 import android.support.v4.view.PagerAdapter;
 import android.support.v4.view.ViewPager;
 import android.support.v4.widget.SwipeRefreshLayout;
-import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.TextView;
+import android.widget.LinearLayout;
 
 import kr.co.hanwha.hifive.R;
 import kr.co.hanwha.hifive.adapter.MainDashboardListAdapter;
@@ -39,10 +39,10 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
     private RecyclerView mRecyclerViewOrange;
     private MainDashboardListAdapter mAdapterGreen;
     private MainDashboardListAdapter mAdapterOrange;
-    private GridLayoutManager mLayoutManagerGreen;
-    private GridLayoutManager mLayoutManagerOrange;
-    private TextView mTextViewEmptyGreen;
-    private TextView mTextViewEmptyOrange;
+    private LinearLayoutManager mLayoutManagerGreen;
+    private LinearLayoutManager mLayoutManagerOrange;
+    private LinearLayout mLayoutEmptyGreen;
+    private LinearLayout mLayoutEmptyOrange;
 
     private HFDashboardTabView mDashboardTabView;
 
@@ -68,37 +68,24 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
         mRefreshLayoutGreen = (SwipeRefreshLayout) mViewGreen.findViewById(R.id.swipeRefreshLayout);
         mRefreshLayoutGreen.setOnRefreshListener(onRefreshListener);
 
-        mLayoutManagerGreen = new GridLayoutManager(getActivity(), 2);
+        mLayoutManagerGreen = new LinearLayoutManager(getActivity());
         mRecyclerViewGreen = (RecyclerView) mViewGreen.findViewById(R.id.recyclerView);
         mRecyclerViewGreen.setLayoutManager(mLayoutManagerGreen);
         mRecyclerViewGreen.setAdapter(mAdapterGreen);
 
-        mTextViewEmptyGreen = (TextView) mViewGreen.findViewById(R.id.empty_textView);
+        mLayoutEmptyGreen = (LinearLayout) mViewGreen.findViewById(R.id.green_empty_layout);
 
         // Orange
         mAdapterOrange = new MainDashboardListAdapter(getActivity(), onMainDashboardListListener);
         mRefreshLayoutOrange = (SwipeRefreshLayout) mViewOrange.findViewById(R.id.swipeRefreshLayout);
         mRefreshLayoutOrange.setOnRefreshListener(onRefreshListener);
 
-        mLayoutManagerOrange = new GridLayoutManager(getActivity(), 2);
+        mLayoutManagerOrange = new LinearLayoutManager(getActivity());
         mRecyclerViewOrange = (RecyclerView) mViewOrange.findViewById(R.id.recyclerView);
         mRecyclerViewOrange.setLayoutManager(mLayoutManagerOrange);
         mRecyclerViewOrange.setAdapter(mAdapterOrange);
 
-        mTextViewEmptyOrange = (TextView) mViewOrange.findViewById(R.id.empty_textView);
-
-        mLayoutManagerOrange.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
-            @Override
-            public int getSpanSize(int position) {
-                return (mAdapterOrange.getFullSpan(position) ? 2 : 1);
-            }
-        });
-        mLayoutManagerGreen.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
-            @Override
-            public int getSpanSize(int position) {
-                return (mAdapterGreen.getFullSpan(position) ? 2 : 1);
-            }
-        });
+        mLayoutEmptyOrange = (LinearLayout) mViewOrange.findViewById(R.id.orange_empty_layout);
 
         mViewPager = (ViewPager) parent.findViewById(R.id.viewPager);
         MainPagerAdapter pagerAdapter = new MainPagerAdapter();
@@ -135,10 +122,10 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
     @Override
     public void setEmptyViewOrange(boolean empty) {
         if (empty) {
-            mTextViewEmptyOrange.setVisibility(View.VISIBLE);
+            mLayoutEmptyOrange.setVisibility(View.VISIBLE);
             mRefreshLayoutOrange.setVisibility(View.GONE);
         } else {
-            mTextViewEmptyOrange.setVisibility(View.GONE);
+            mLayoutEmptyOrange.setVisibility(View.GONE);
             mRefreshLayoutOrange.setVisibility(View.VISIBLE);
         }
     }
@@ -146,10 +133,10 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
     @Override
     public void setEmptyViewGreen(boolean empty) {
         if (empty) {
-            mTextViewEmptyGreen.setVisibility(View.VISIBLE);
+            mLayoutEmptyGreen.setVisibility(View.VISIBLE);
             mRefreshLayoutGreen.setVisibility(View.GONE);
         } else {
-            mTextViewEmptyGreen.setVisibility(View.GONE);
+            mLayoutEmptyGreen.setVisibility(View.GONE);
             mRefreshLayoutGreen.setVisibility(View.VISIBLE);
         }
     }

+ 3 - 5
app/src/main/res/layout/fragment_main_dashboard.xml

@@ -2,7 +2,7 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/white">
+    android:background="@color/hf_grey19">
 
     <RelativeLayout
         android:layout_width="match_parent"
@@ -16,10 +16,10 @@
             android:fadingEdgeLength="0dp"
             android:overScrollMode="never" />
 
-        <ImageView
+        <!--<ImageView
             android:layout_width="match_parent"
             android:layout_height="8dp"
-            android:background="@mipmap/gradient_white" />
+            android:background="@mipmap/gradient_white" />-->
     </RelativeLayout>
 
 
@@ -67,8 +67,6 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="@dimen/main_top_tabbar_height"
-            android:layout_alignParentStart="true"
-            android:layout_alignParentTop="true"
             android:orientation="horizontal">
 
             <kr.co.hanwha.hifive.view.FontTextView

+ 38 - 5
app/src/main/res/layout/fragment_main_dashboard_sub.xml

@@ -19,12 +19,45 @@
             android:overScrollMode="never" />
     </android.support.v4.widget.SwipeRefreshLayout>
 
-    <kr.co.hanwha.hifive.view.FontTextView
-        android:id="@+id/empty_textView"
-        style="@style/font_notosans_r_15sp_grey18"
+    <LinearLayout
+        android:id="@+id/green_empty_layout"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:visibility="gone"
         android:gravity="center"
-        android:text="@string/main_dashboard_empty_project" />
+        android:visibility="gone">
+
+        <kr.co.hanwha.hifive.view.FontTextView
+            style="@style/font_notosans_r_15sp_grey18"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:text="@string/main_dashboard_empty_project" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/orange_empty_layout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal"
+        android:gravity="center"
+        android:visibility="gone">
+
+        <kr.co.hanwha.hifive.view.FontTextView
+            style="@style/font_notosans_r_15sp_grey18"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:text="@string/main_dashboard_empty_project_green_prefix" />
+        <ImageView
+            android:layout_width="11dp"
+            android:layout_height="11dp"
+            android:src="@drawable/circle_project_grid_status_green" />
+        <kr.co.hanwha.hifive.view.FontTextView
+            style="@style/font_notosans_r_15sp_grey18"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:text="@string/main_dashboard_empty_project_green_suffix" />
+    </LinearLayout>
+
 </RelativeLayout>

+ 1 - 0
app/src/main/res/layout/item_main_dashboard_grid.xml

@@ -46,6 +46,7 @@
             android:layout_height="wrap_content"
             android:paddingLeft="20dp"
             android:paddingRight="20dp"
+            android:maxLines="2"
             android:text="" />
 
         <kr.co.hanwha.hifive.view.FontTextView

+ 116 - 0
app/src/main/res/layout/item_main_dashboard_list.xml

@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:id="@+id/body_linearLayout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/main_unit_item_task_left_margin"
+        android:layout_marginRight="@dimen/main_unit_item_task_left_margin"
+        android:background="@drawable/box_rounded_task_bg"
+        android:elevation="@dimen/main_unit_item_elevation"
+        android:orientation="vertical">
+
+        <View
+            android:id="@+id/topPadding_view"
+            android:layout_width="match_parent"
+            android:layout_height="2.5dp"
+            android:visibility="gone" />
+
+        <!-- TASK 명 -->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="12dp"
+            android:layout_marginRight="14.5dp"
+            android:layout_marginTop="15.5dp"
+            android:layout_marginBottom="15.5dp"
+            android:minHeight="29dp"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/status_view"
+                android:layout_width="24dp"
+                android:layout_height="19dp"
+                android:background="@mipmap/ic_unit_g"
+                android:scaleType="fitCenter"
+                android:visibility="visible" />
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:layout_marginLeft="7dp"
+                android:orientation="vertical">
+
+                <kr.co.hanwha.hifive.view.FontTextView
+                    android:id="@+id/project_textView"
+                    style="@style/font_notosans_b_14sp_grey01"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_vertical"
+                    android:ellipsize="end"
+                    android:lineSpacingExtra="3dp"
+                    android:maxLines="1"
+                    android:text="금융상품 기획 신규사업" />
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal">
+
+                    <kr.co.hanwha.hifive.view.FontTextView
+                        android:id="@+id/unit_textView"
+                        style="@style/font_notosans_b_12sp_grey03"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:paddingRight="20dp"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        android:maxWidth="120dp"
+                        android:text="글로벌비즈니스전략"
+                        android:visibility="visible" />
+                    <kr.co.hanwha.hifive.view.FontTextView
+                        android:id="@+id/member_textView"
+                        style="@style/font_notosans_b_12sp_grey03"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:gravity="right"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        android:maxWidth="160dp"
+                        android:text="이진희"
+                        android:visibility="visible" />
+                </LinearLayout>
+            </LinearLayout>
+        </LinearLayout>
+
+        <!-- Log -->
+        <kr.co.hanwha.hifive.view.FontTextView
+            android:id="@+id/log_textView"
+            style="@style/font_notosans_r_11sp_grey03"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginLeft="@dimen/main_home_item_margin_left"
+            android:layout_marginRight="@dimen/main_home_item_margin_left"
+            android:layout_marginTop="16.5dp"
+            android:ellipsize="end"
+            android:text=""
+            android:visibility="gone" />
+
+        <View
+            android:id="@+id/bottomPadding_view"
+            android:layout_width="match_parent"
+            android:layout_height="3dp"
+            android:visibility="gone" />
+    </LinearLayout>
+
+    <View
+        android:id="@+id/bottomMargin_view"
+        android:layout_width="match_parent"
+        android:layout_height="6dp" />
+</LinearLayout>

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

@@ -2,7 +2,7 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="@color/white"
+    android:background="@color/hf_grey19"
     android:orientation="vertical">
 
     <kr.co.hanwha.hifive.view.FontTextView

二进制
app/src/main/res/mipmap-xhdpi/ic_unit_2y.png


二进制
app/src/main/res/mipmap-xhdpi/ic_unit_g.png


二进制
app/src/main/res/mipmap-xhdpi/ic_unit_r.png


二进制
app/src/main/res/mipmap-xhdpi/ic_unit_y.png


二进制
app/src/main/res/mipmap-xxhdpi/ic_unit_2y.png


二进制
app/src/main/res/mipmap-xxhdpi/ic_unit_g.png


二进制
app/src/main/res/mipmap-xxhdpi/ic_unit_r.png


二进制
app/src/main/res/mipmap-xxhdpi/ic_unit_y.png


+ 5 - 5
app/src/main/res/values/colors.xml

@@ -31,10 +31,10 @@
     <color name="hf_white01">#f8f8f8</color>
     <color name="hf_white01_76">#76f8f8f8</color>
 
-    <color name="hf_grey01">#313235</color>
-    <color name="hf_grey02">#4a4b51</color>
-    <color name="hf_grey03">#9899a0</color>
-    <color name="hf_grey04">#b2b5bb</color>
+    <color name="hf_grey01">#37383b</color>
+    <color name="hf_grey02">#55575c</color>
+    <color name="hf_grey03">#a5a7ac</color>
+    <color name="hf_grey04">#bec0c6</color>
     <color name="hf_grey05">#cacbd1</color>
     <color name="hf_grey06">#dee1e7</color>
     <color name="hf_grey07">#edeff3</color>
@@ -43,7 +43,7 @@
     <color name="hf_grey10">#d2d3d5</color>
     <color name="hf_grey11">#e5e7eb</color>
     <color name="hf_grey12">#9b9b9d</color>
-    <color name="hf_grey13">#fbfbfd</color>
+    <color name="hf_grey13">#efeef2</color>
     <color name="hf_grey14">#d3d4d8</color>
     <color name="hf_grey15">#606369</color>
     <color name="hf_grey16">#eef2f3</color>

+ 2 - 0
app/src/main/res/values/strings.xml

@@ -101,6 +101,8 @@
 
     <string name="main_dashboard_title">대시보드</string>
     <string name="main_dashboard_empty_project">유닛이 없습니다.</string>
+    <string name="main_dashboard_empty_project_green_prefix">"모든 유닛이 "</string>
+    <string name="main_dashboard_empty_project_green_suffix">" 상태입니다."</string>
 
     <string name="main_setting_unit_management">유닛</string>
     <string name="main_setting_default_tab">기본 화면</string>

+ 8 - 0
app/src/main/res/values/styles.xml

@@ -433,6 +433,14 @@
         <item name="fontFamily">NOTOSANS_R</item>
     </style>
 
+    <style name="font_notosans_b_12sp_grey03">
+        <item name="android:textColor">@color/hf_grey03</item>
+        <item name="android:textSize">12sp</item>
+        <item name="android:textStyle">bold</item>
+        <item name="textStyle">bold</item>
+        <item name="fontFamily">NOTOSANS_R</item>
+    </style>
+
     <style name="font_notosans_r_12sp_grey04">
         <item name="android:textColor">@color/hf_grey04</item>
         <item name="android:textSize">12sp</item>