From 9cb31437e3675c0c7b9ca447ce63fbc113d6946d Mon Sep 17 00:00:00 2001 From: "DESKTOP-1A3P75F\\lee" Date: Thu, 18 Aug 2022 05:26:09 +0900 Subject: [PATCH] =?UTF-8?q?=ED=94=84=EB=9E=98=EA=B7=B8=EB=A8=BC=ED=8A=B8?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/deploymentTargetDropDown.xml | 17 ++++ .idea/misc.xml | 6 ++ app/build.gradle | 5 + app/src/main/AndroidManifest.xml | 3 + .../Activity/NaviFragment/SearchFragment.java | 66 ++++++++++++++ .../Activity/NaviFragment/SelectFragment.java | 66 ++++++++++++++ .../NaviFragment/SettingFragment.java | 66 ++++++++++++++ .../Activity/NaviFragment/TestFragment.java | 66 ++++++++++++++ .../qtagger/Activity/NavigationActivity.java | 86 ++++++++++++++++++ .../main/java/com/qtagger/MainActivity.java | 4 +- .../document_checklist_icon_icons_com_32.png | Bin 0 -> 2198 bytes ..._of_three_dots_icon_icons_com_74259___.png | Bin 0 -> 1500 bytes .../searchmagnifierinterfacesymbol1_32.png | Bin 0 -> 1575 bytes .../main/res/layout/activity_navigation.xml | 32 +++++++ app/src/main/res/layout/fragment_search.xml | 14 +++ app/src/main/res/layout/fragment_select.xml | 14 +++ app/src/main/res/layout/fragment_setting.xml | 14 +++ app/src/main/res/layout/fragment_test.xml | 14 +++ app/src/main/res/menu/bottom_nav_menu.xml | 17 ++++ app/src/main/res/values/strings.xml | 2 + 20 files changed, 491 insertions(+), 1 deletion(-) create mode 100644 .idea/deploymentTargetDropDown.xml create mode 100644 app/src/main/java/com/qtagger/Activity/NaviFragment/SearchFragment.java create mode 100644 app/src/main/java/com/qtagger/Activity/NaviFragment/SelectFragment.java create mode 100644 app/src/main/java/com/qtagger/Activity/NaviFragment/SettingFragment.java create mode 100644 app/src/main/java/com/qtagger/Activity/NaviFragment/TestFragment.java create mode 100644 app/src/main/java/com/qtagger/Activity/NavigationActivity.java create mode 100644 app/src/main/res/drawable/document_checklist_icon_icons_com_32.png create mode 100644 app/src/main/res/drawable/more_button_of_three_dots_icon_icons_com_74259___.png create mode 100644 app/src/main/res/drawable/searchmagnifierinterfacesymbol1_32.png create mode 100644 app/src/main/res/layout/activity_navigation.xml create mode 100644 app/src/main/res/layout/fragment_search.xml create mode 100644 app/src/main/res/layout/fragment_select.xml create mode 100644 app/src/main/res/layout/fragment_setting.xml create mode 100644 app/src/main/res/layout/fragment_test.xml create mode 100644 app/src/main/res/menu/bottom_nav_menu.xml diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..48f16ac --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 16d8ffd..360c39a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -15,6 +15,12 @@ + + + + + + diff --git a/app/build.gradle b/app/build.gradle index 798d5e0..a341950 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,6 +21,11 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + + buildFeatures{ + viewBinding true + } + compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1c300e6..d77bd51 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,6 +31,9 @@ android:supportsRtl="true" android:theme="@style/Theme.QTagger" tools:targetApi="31"> + diff --git a/app/src/main/java/com/qtagger/Activity/NaviFragment/SearchFragment.java b/app/src/main/java/com/qtagger/Activity/NaviFragment/SearchFragment.java new file mode 100644 index 0000000..d103082 --- /dev/null +++ b/app/src/main/java/com/qtagger/Activity/NaviFragment/SearchFragment.java @@ -0,0 +1,66 @@ +package com.qtagger.Activity.NaviFragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.qtagger.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link SearchFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class SearchFragment extends Fragment { + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public SearchFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment SearchFragment. + */ + // TODO: Rename and change types and number of parameters + public static SearchFragment newInstance(String param1, String param2) { + SearchFragment fragment = new SearchFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_search, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/Activity/NaviFragment/SelectFragment.java b/app/src/main/java/com/qtagger/Activity/NaviFragment/SelectFragment.java new file mode 100644 index 0000000..bd9c3bc --- /dev/null +++ b/app/src/main/java/com/qtagger/Activity/NaviFragment/SelectFragment.java @@ -0,0 +1,66 @@ +package com.qtagger.Activity.NaviFragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.qtagger.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link SelectFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class SelectFragment extends Fragment { + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public SelectFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment SelectFragment. + */ + // TODO: Rename and change types and number of parameters + public static SelectFragment newInstance(String param1, String param2) { + SelectFragment fragment = new SelectFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_select, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/Activity/NaviFragment/SettingFragment.java b/app/src/main/java/com/qtagger/Activity/NaviFragment/SettingFragment.java new file mode 100644 index 0000000..17ef021 --- /dev/null +++ b/app/src/main/java/com/qtagger/Activity/NaviFragment/SettingFragment.java @@ -0,0 +1,66 @@ +package com.qtagger.Activity.NaviFragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.qtagger.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link SettingFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class SettingFragment extends Fragment { + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public SettingFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment SettingFragment. + */ + // TODO: Rename and change types and number of parameters + public static SettingFragment newInstance(String param1, String param2) { + SettingFragment fragment = new SettingFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_setting, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/Activity/NaviFragment/TestFragment.java b/app/src/main/java/com/qtagger/Activity/NaviFragment/TestFragment.java new file mode 100644 index 0000000..b321956 --- /dev/null +++ b/app/src/main/java/com/qtagger/Activity/NaviFragment/TestFragment.java @@ -0,0 +1,66 @@ +package com.qtagger.Activity.NaviFragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.qtagger.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link TestFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class TestFragment extends Fragment { + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public TestFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment TestFragment. + */ + // TODO: Rename and change types and number of parameters + public static TestFragment newInstance(String param1, String param2) { + TestFragment fragment = new TestFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_test, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/Activity/NavigationActivity.java b/app/src/main/java/com/qtagger/Activity/NavigationActivity.java new file mode 100644 index 0000000..c10060e --- /dev/null +++ b/app/src/main/java/com/qtagger/Activity/NavigationActivity.java @@ -0,0 +1,86 @@ +package com.qtagger.Activity; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.MenuItem; +import android.widget.Toast; + +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.internal.NavigationMenu; +import com.qtagger.Activity.NaviFragment.SearchFragment; +import com.qtagger.Activity.NaviFragment.SettingFragment; +import com.qtagger.Activity.NaviFragment.TestFragment; +import com.qtagger.R; +import com.qtagger.databinding.ActivityMainBinding; +import com.qtagger.util.DataManager; + +public class NavigationActivity extends AppCompatActivity { + private final long finishtimeed = 1000; + private long presstime = 0; + private FragmentManager fragmentManager = getSupportFragmentManager(); + private TestFragment testFragment = new TestFragment(); + private SearchFragment searchFragment = new SearchFragment(); + private SettingFragment settingFragment = new SettingFragment(); + private DataManager dataManager = DataManager.getInstance(); + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_navigation); + + FragmentTransaction transaction = fragmentManager.beginTransaction(); + transaction.replace(R.id.frame, testFragment).commitAllowingStateLoss(); + + BottomNavigationView bottomNavigationView = findViewById(R.id.nav_view); + bottomNavigationView.setOnNavigationItemSelectedListener(new ItemSelectedListener()); + + + } + + class ItemSelectedListener implements BottomNavigationView.OnNavigationItemSelectedListener { + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + FragmentTransaction transaction = fragmentManager.beginTransaction(); + + switch (menuItem.getItemId()) { + case R.id.navigation_test: + transaction.replace(R.id.frame, testFragment).commitAllowingStateLoss(); + break; + case R.id.navigation_search: + transaction.replace(R.id.frame, searchFragment).commitAllowingStateLoss(); + break; + case R.id.navigation_setting: + transaction.replace(R.id.frame, settingFragment).commitAllowingStateLoss(); + break; + + } + + return true; + } + } + + + @Override + public void onBackPressed() { + long tempTime = System.currentTimeMillis(); + long intervalTime = tempTime - presstime; + + if (0 <= intervalTime && finishtimeed >= intervalTime) + { + moveTaskToBack(true); + finish(); + android.os.Process.killProcess(android.os.Process.myPid()); + } + else + { + presstime = tempTime; + Toast.makeText(getApplicationContext(), "한번더 누르시면 앱이 종료됩니다", Toast.LENGTH_SHORT).show(); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/MainActivity.java b/app/src/main/java/com/qtagger/MainActivity.java index 25bdae4..ad118c6 100644 --- a/app/src/main/java/com/qtagger/MainActivity.java +++ b/app/src/main/java/com/qtagger/MainActivity.java @@ -18,6 +18,7 @@ import android.widget.Toast; import com.qtagger.Activity.AccountAdd; import com.qtagger.Activity.AccountList; +import com.qtagger.Activity.NavigationActivity; import com.qtagger.Database.Account; import com.qtagger.Database.AppDatabase; import com.qtagger.util.DataManager; @@ -59,7 +60,8 @@ public class MainActivity extends AppCompatActivity { if(selectAcc != null)//로그인 처리 { dataManager.loginAccount = selectAcc; - + Intent intent2 = new Intent(getApplicationContext(), NavigationActivity.class); + startActivity(intent2); } diff --git a/app/src/main/res/drawable/document_checklist_icon_icons_com_32.png b/app/src/main/res/drawable/document_checklist_icon_icons_com_32.png new file mode 100644 index 0000000000000000000000000000000000000000..2646ca03366353da15106cb3572053d45f3b7001 GIT binary patch literal 2198 zcmbVO3s4kg9Nz=_Z|qhd1t^OpdBb21!>B%w|AV}?XG(Z_ees( z5+}+Vd?BQfmO7$n+CxC}%D^%d%SUQRr%q52NcgJ0_c<+D*%v9{1RO1dV2~0_}wz;ve|6y zQz%YZB$%GcBP4bU&7lEc-h4Za;ROT><`G5{se*1dpMXGv)P?-`Oxgbs*qc@-#ngt`uxSa~h zXIUDBVVlh+vB@PAV}zwjr4mMDuuLZA5Mrx?WHGy#v__6HXb3CLm}u5Sks!~AkTCa`=+G4SIRan`iBF>GGfIJXw)j4Pa&LFH*A%hc1MVy(Dyf-wO z$PgGyF*=Gek7jD|sL7yAE>VE9o-vVn%4VJYrvrorV+j?+XHAU6iKTHmM20F5RH2MU zlqiA>L$#FNWN0!IAz;x`$y_%D~z%hKM(E(Rye(!JP3h--p9~z<+mf=-Z!q zb`;JH0$%ivAa3IwVg$)eE`}RX>(>mn0f28>swQ5S{bJwN^a@c@NL$IleNE5Lt{uPW$7p7k^&fvip0tyhFXY=j6$=jW4@h-$v!e zFPVAz@a4#N^mcUn_=u1f9qA{&N+dpVtlQ~Y@9Js2KJmkXsvVo&2|TprgGC-uzq;*s z)S0tWTKlEtu`_c-ugRmfZ}Ov?i2kf?R}w0JxEXr0H?`_`{odq|!uhvO_llmJ_FGNV zY6|_nG3}+KA8zcO z)fBO|MZNZXS0kB!^ZU3o z(_QZt>E`7lJSxH z#v6~hVYkXHb{BbU9--&M%lB&E?hJReR)lPTUR`*zqxcn{HfX=_vS9UstiThOg3N;H zK$>|_W?XPEw(g7Gjl}jxSG0|#_64{EvA(~SM!JjLd)&L7zfU|=`%+|AI=e7-$y;{< z_MOQJs}B7!JmY+6*>{~M1jl^L2Tl##ZEWy2PB`SZEZFSZy++U^^m^RcbKcs8h+Zf?b`A!Ga^2%+SA+n3v_-($I{e{S)U$_ c)Se71@o`0`zb9%}^8Xt^YEqh}AtATy59JL&#sB~S literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/more_button_of_three_dots_icon_icons_com_74259___.png b/app/src/main/res/drawable/more_button_of_three_dots_icon_icons_com_74259___.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd93ad01caced6ed1a6911df689ffa287010881 GIT binary patch literal 1500 zcmbVMTZr6L7|u#5y|CH`g;EucS!^pd$(hV;b7)-G$aYNKjdgZ*gDk-vAsYTut>uTbn(|SXGP#Sy0|NELNhFprdR1jWUe<; zw|fh==7>{IfUORaIbKftm!1NL7)lf#D}|agpPqS!3H!7~kn)ld%vfO1s^b+gX`L z4JD&#ngUftRV9v);%>ljM+)MJ5raWuJMu#2(Eucj*rJO}7rCkf8~iY(4dS7nxW|+Z z4wZ}y6Px-#$4+tKV$|vjcWi~Uh))6*b8IHXhE2+7+@!alPOonez_XKgFD=}>aLJ9_VKQ!gi9~x@ae1C5|{e_U_sP1KM_zaMIg^djN~6%i1_1(+%#eJEoJul~?_3dYQN5|7zw`FCR5hmS^M`)<>XCa7!24Hz zd;H-&R`Jz~@7A)1PgpNs+H!G6Wn=Z79S`mQ43;)5Kk(agvtM3)@%b+{?LN7*bZYMN z%VVpa6z*BKe?qwWr*Ztg*H66m;5UDNcj)J1+p~ZD_`@4-mUo}(U3z=%`Les*eRQtz z?}v~SPLD57yi)z>1LyRo|NOKrTf4G)^W?#uFI?a>!U`aq9Gm+7W8Ad`fs&7 LW4!;=o|moxb~5Kh literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/searchmagnifierinterfacesymbol1_32.png b/app/src/main/res/drawable/searchmagnifierinterfacesymbol1_32.png new file mode 100644 index 0000000000000000000000000000000000000000..912139f838c1e3be82b3b29fe70418b31bb9d7ef GIT binary patch literal 1575 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!DI*iC%%0Ye`LFupeHNe;yo+(RyC<> z0A0bD=j+X9tjwIZWB(b;_jT`|@2!3=^hwrq>nbZ#X5ZT8 zF!#Dnx7x{!_6N6*R3^| zFKl?>queB0diuRQ^Nzxs2V2-b{5loK|3h1U?i?oT*rKg)8X(7Bp<-SY#N;9H!2?BPTUMcAEujPQKbL3F+*fCDLj7M~VPWK=+ZTW_q*~${QIe8a zl4_M)lnSI6j0_CTbq$Pk4NOCf46KYytqhE{4GgUe42~NW?m*Fyo1c=IR*74~w)~SU zKn-pn8;bMOO3D+9QW-pR6Vp?D6Vo%3vlYzr%=IjEEfs)Pn&}#t=^C0T1OjnJNlAf~ zzJ7Umxn3qnH4p<;>*W`vKihAz4QQeS$i$G0(%d8~E0_G_(%jU%5-Y0!pweOn!{z^X z>!Yaw+i7K$k(!yFQNmzqXmsF0Kp;?!IFdO~HQ|{lB^e+kGBwP1fJ!8hl=x=mrj}F| zq%weArC*SjZoeta56v9k5TGgsLlX-#V + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml new file mode 100644 index 0000000..49cd1e5 --- /dev/null +++ b/app/src/main/res/layout/fragment_search.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_select.xml b/app/src/main/res/layout/fragment_select.xml new file mode 100644 index 0000000..d8866ba --- /dev/null +++ b/app/src/main/res/layout/fragment_select.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml new file mode 100644 index 0000000..f811f46 --- /dev/null +++ b/app/src/main/res/layout/fragment_setting.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_test.xml b/app/src/main/res/layout/fragment_test.xml new file mode 100644 index 0000000..287b230 --- /dev/null +++ b/app/src/main/res/layout/fragment_test.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml new file mode 100644 index 0000000..0d0c408 --- /dev/null +++ b/app/src/main/res/menu/bottom_nav_menu.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 69f5585..bc4cab3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,5 @@ QTagger + + Hello blank fragment \ No newline at end of file