From 50702d71c6eceda08498d7c1f64e981bc635fccd Mon Sep 17 00:00:00 2001 From: Ilham Firdausi Putra <ilhamfputra31@gmail.com> Date: Sat, 23 Feb 2019 10:31:51 +0700 Subject: [PATCH] change initial layout: - add bottom navigation bar - remove side navigation bar --- .../{ChatFragment.java => BotFragment.java} | 68 +++--- .../main/java/com/chatman/HomeFragment.java | 159 ++++++++++++++ .../main/java/com/chatman/MainActivity.java | 195 +++++++----------- android/app/src/main/res/drawable/home.png | Bin 0 -> 3567 bytes .../res/drawable/ic_android_black_96dp.xml | 5 + android/app/src/main/res/drawable/ln_logo.png | Bin 0 -> 6779 bytes android/app/src/main/res/drawable/profile.png | Bin 0 -> 9931 bytes android/app/src/main/res/drawable/robotic.png | Bin 0 -> 14682 bytes .../app/src/main/res/layout/activity_main.xml | 16 +- .../app/src/main/res/layout/app_bar_main.xml | 24 ++- .../app/src/main/res/layout/content_main.xml | 23 ++- .../{fragment_chat.xml => fragment_bot.xml} | 4 +- .../app/src/main/res/layout/fragment_home.xml | 18 ++ android/app/src/main/res/menu/navigation.xml | 22 ++ android/app/src/main/res/values/strings.xml | 3 + 15 files changed, 355 insertions(+), 182 deletions(-) rename android/app/src/main/java/com/chatman/{ChatFragment.java => BotFragment.java} (57%) create mode 100644 android/app/src/main/java/com/chatman/HomeFragment.java create mode 100644 android/app/src/main/res/drawable/home.png create mode 100644 android/app/src/main/res/drawable/ic_android_black_96dp.xml create mode 100644 android/app/src/main/res/drawable/ln_logo.png create mode 100644 android/app/src/main/res/drawable/profile.png create mode 100644 android/app/src/main/res/drawable/robotic.png rename android/app/src/main/res/layout/{fragment_chat.xml => fragment_bot.xml} (82%) create mode 100644 android/app/src/main/res/layout/fragment_home.xml create mode 100644 android/app/src/main/res/menu/navigation.xml diff --git a/android/app/src/main/java/com/chatman/ChatFragment.java b/android/app/src/main/java/com/chatman/BotFragment.java similarity index 57% rename from android/app/src/main/java/com/chatman/ChatFragment.java rename to android/app/src/main/java/com/chatman/BotFragment.java index d967438..842c3d9 100644 --- a/android/app/src/main/java/com/chatman/ChatFragment.java +++ b/android/app/src/main/java/com/chatman/BotFragment.java @@ -3,46 +3,50 @@ package com.chatman; import android.content.Context; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.support.v4.app.Fragment; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.widget.LinearLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import com.google.firebase.database.DataSnapshot; -import com.google.firebase.database.DatabaseError; -import com.google.firebase.database.ValueEventListener; - /** * A simple {@link Fragment} subclass. * Activities that contain this fragment must implement the - * {@link ChatFragment.OnFragmentInteractionListener} interface + * {@link BotFragment.OnFragmentInteractionListener} interface * to handle interaction events. - * Use the {@link ChatFragment#newInstance} factory method to + * Use the {@link BotFragment#newInstance} factory method to * create an instance of this fragment. */ -public class ChatFragment extends Fragment { +public class BotFragment extends Fragment { + // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER - private static final String ARG_NAMA = "nama"; - private static final String ARG_KEY = "key"; + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; - private String nama; + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; private OnFragmentInteractionListener mListener; - public ChatFragment() { + public BotFragment() { // Required empty public constructor } - public static ChatFragment newInstance(String param1) { - ChatFragment fragment = new ChatFragment(); + /** + * 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 BotFragment. + */ + // TODO: Rename and change types and number of parameters + public static BotFragment newInstance(String param1, String param2) { + BotFragment fragment = new BotFragment(); Bundle args = new Bundle(); - args.putString(ARG_NAMA, param1); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); fragment.setArguments(args); return fragment; } @@ -51,33 +55,18 @@ public class ChatFragment extends Fragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { - nama = getArguments().getString(ARG_NAMA); - } else { - nama = "Dummy"; + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); } } @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_chat, container, false); - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - ((MainActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); - -// LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); -// linearLayoutManager.setReverseLayout(true); -// linearLayoutManager.setStackFromEnd(true); -// recycler.setLayoutManager(linearLayoutManager); -// getChatList(); -// adapter = new ChatAdapter(chatList); -// recycler.setAdapter(adapter); + return inflater.inflate(R.layout.fragment_bot, container, false); } - // TODO: Rename method, update argument and hook method into UI event public void onButtonPressed(Uri uri) { if (mListener != null) { @@ -116,4 +105,5 @@ public class ChatFragment extends Fragment { // TODO: Update argument type and name void onFragmentInteraction(Uri uri); } + } diff --git a/android/app/src/main/java/com/chatman/HomeFragment.java b/android/app/src/main/java/com/chatman/HomeFragment.java new file mode 100644 index 0000000..98d8896 --- /dev/null +++ b/android/app/src/main/java/com/chatman/HomeFragment.java @@ -0,0 +1,159 @@ +package com.chatman; + +import android.content.Context; +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.chatman.adapter.ChatListAdapter; +import com.chatman.model.ChatList; + +import java.util.List; + + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link HomeFragment.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link HomeFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class HomeFragment extends Fragment { + + private RecyclerView recycler; + private ChatListAdapter adapter; + private List<ChatList> chatLists; + + private OnFragmentInteractionListener mListener; + + public HomeFragment() { + // Required empty public constructor + } + + public static HomeFragment newInstance() { + HomeFragment fragment = new HomeFragment(); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_home, container, false); + } + + // TODO: Rename method, update argument and hook method into UI event + public void onButtonPressed(Uri uri) { + if (mListener != null) { + mListener.onFragmentInteraction(uri); + } + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) context; + } else { + throw new RuntimeException(context.toString() + + " must implement OnFragmentInteractionListener"); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + * <p> + * See the Android Training lesson <a href= + * "http://developer.android.com/training/basics/fragments/communicating.html" + * >Communicating with Other Fragments</a> for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + void onFragmentInteraction(Uri uri); + } + + // // Todo: Ganti data dummmy jadi data asli ngambil dari database +// private List<ChatList> getChatLists() { +// chatLists = new ArrayList<>(); +// chatLists.add(new ChatList( +// R.drawable.priagung, +// "Priagung Satyagama", +// "Woi sini ke sekre 2 temani diriku yang kesepian" +// )); +// chatLists.add(new ChatList( +// R.drawable.rama, +// "Yusuf Rahmat Pratama", +// "Eh, gmn gmn?" +// )); +// chatLists.add(new ChatList( +// R.drawable.priagung, +// "Priagung Satyagama", +// "Woi sini ke sekre 2 temani diriku yang kesepian" +// )); +// chatLists.add(new ChatList( +// R.drawable.rama, +// "Yusuf Rahmat Pratama", +// "Eh, gmn gmn?" +// )); +// chatLists.add(new ChatList( +// R.drawable.priagung, +// "Priagung Satyagama", +// "Woi sini ke sekre 2 temani diriku yang kesepian" +// )); +// chatLists.add(new ChatList( +// R.drawable.rama, +// "Yusuf Rahmat Pratama", +// "Eh, gmn gmn?" +// )); +// chatLists.add(new ChatList( +// R.drawable.priagung, +// "Priagung Satyagama", +// "Woi sini ke sekre 2 temani diriku yang kesepian" +// )); +// chatLists.add(new ChatList( +// R.drawable.rama, +// "Yusuf Rahmat Pratama", +// "Eh, gmn gmn?" +// )); +// chatLists.add(new ChatList( +// R.drawable.priagung, +// "Priagung Satyagama", +// "Woi sini ke sekre 2 temani diriku yang kesepian" +// )); +// chatLists.add(new ChatList( +// R.drawable.rama, +// "Yusuf Rahmat Pratama", +// "Eh, gmn gmn?" +// )); +// chatLists.add(new ChatList( +// R.drawable.priagung, +// "Priagung Satyagama", +// "Woi sini ke sekre 2 temani diriku yang kesepian" +// )); +// chatLists.add(new ChatList( +// R.drawable.rama, +// "Yusuf Rahmat Pratama", +// "Eh, gmn gmn?" +// )); +// return chatLists; +// } +} diff --git a/android/app/src/main/java/com/chatman/MainActivity.java b/android/app/src/main/java/com/chatman/MainActivity.java index ec7c46d..932e337 100644 --- a/android/app/src/main/java/com/chatman/MainActivity.java +++ b/android/app/src/main/java/com/chatman/MainActivity.java @@ -3,9 +3,13 @@ package com.chatman; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.net.Uri; import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.design.widget.BottomNavigationView; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; @@ -17,7 +21,9 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import android.widget.ImageView; +import com.bumptech.glide.Glide; import com.chatman.adapter.ChatListAdapter; import com.chatman.helper.PreferencesHelper; import com.chatman.model.ChatList; @@ -26,40 +32,62 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { +public class MainActivity extends AppCompatActivity implements + ProfileFragment.OnFragmentInteractionListener, + HomeFragment.OnFragmentInteractionListener, + BotFragment.OnFragmentInteractionListener { - private RecyclerView recycler; - private ChatListAdapter adapter; - private List<ChatList> chatLists; private Context context; + private BottomNavigationView bottomNavbar; + + private Fragment fragment; + + private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener + = new BottomNavigationView.OnNavigationItemSelectedListener() { + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case R.id.navigation_profile: + loadFragment(new ProfileFragment()); break; + case R.id.navigation_home: + loadFragment(new HomeFragment()); break; + case R.id.navigation_bot: + loadFragment(new BotFragment()); break; + } + + return true; + } + }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + toolbar.setTitle(""); + ImageView toolbarImage = findViewById(R.id.toolbar_image); + Glide.with(this).load(getImage("logo")).fitCenter().into(toolbarImage); setSupportActionBar(toolbar); context = this; // Recycler View - recycler = findViewById(R.id.chat_list_rv); - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context); - linearLayoutManager.setReverseLayout(true); - linearLayoutManager.setStackFromEnd(true); - recycler.setLayoutManager(linearLayoutManager); - getChatLists(); - adapter = new ChatListAdapter(chatLists); - recycler.setAdapter(adapter); - - - DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); - ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( - this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); - drawer.addDrawerListener(toggle); - toggle.syncState(); - - NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); - navigationView.setNavigationItemSelectedListener(this); +// recycler = findViewById(R.id.chat_list_rv); +// LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context); +// linearLayoutManager.setReverseLayout(true); +// linearLayoutManager.setStackFromEnd(true); +// recycler.setLayoutManager(linearLayoutManager); +// getChatLists(); +// adapter = new ChatListAdapter(chatLists); +// recycler.setAdapter(adapter); + + + // Bottom Navigation Bar + bottomNavbar = findViewById(R.id.navigation); + bottomNavbar.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); + + //Set laman pertama + loadFragment(new ProfileFragment()); } @Override @@ -72,113 +100,36 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On } } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.main, menu); - return true; - } +// @Override +// public boolean onCreateOptionsMenu(Menu menu) { +// // Inflate the menu; this adds items to the action bar if it is present. +// getMenuInflater().inflate(R.menu.main, menu); +// return true; +// } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { + + + public boolean loadFragment(Fragment fragment) { + //switching fragment + if (fragment != null) { + getSupportFragmentManager() + .beginTransaction() + .replace(R.id.fragment_container, fragment) + .commit(); return true; } - - return super.onOptionsItemSelected(item); + return false; } - @SuppressWarnings("StatementWithEmptyBody") - @Override - public boolean onNavigationItemSelected(MenuItem item) { - // Handle navigation view item clicks here. - int id = item.getItemId(); - Intent navigationBarIntent; - if (id == R.id.nav_side_logout) { - // Handle the camera action - navigationBarIntent = new Intent(MainActivity.this, AuthActivity.class); - PreferencesHelper.setUserFirebaseKey(this, ""); - PreferencesHelper.setUserName(this,""); - PreferencesHelper.setHasLogin(this, false); - - finish(); - startActivity(navigationBarIntent); - } + public int getImage(String imageName) { - DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); - drawer.closeDrawer(GravityCompat.START); - return true; + int drawableResourceId = this.getResources().getIdentifier(imageName, "drawable", this.getPackageName()); + + return drawableResourceId; } - // Todo: Ganti data dummmy jadi data asli ngambil dari database - private List<ChatList> getChatLists() { - chatLists = new ArrayList<>(); - chatLists.add(new ChatList( - R.drawable.priagung, - "Priagung Satyagama", - "Woi sini ke sekre 2 temani diriku yang kesepian" - )); - chatLists.add(new ChatList( - R.drawable.rama, - "Yusuf Rahmat Pratama", - "Eh, gmn gmn?" - )); - chatLists.add(new ChatList( - R.drawable.priagung, - "Priagung Satyagama", - "Woi sini ke sekre 2 temani diriku yang kesepian" - )); - chatLists.add(new ChatList( - R.drawable.rama, - "Yusuf Rahmat Pratama", - "Eh, gmn gmn?" - )); - chatLists.add(new ChatList( - R.drawable.priagung, - "Priagung Satyagama", - "Woi sini ke sekre 2 temani diriku yang kesepian" - )); - chatLists.add(new ChatList( - R.drawable.rama, - "Yusuf Rahmat Pratama", - "Eh, gmn gmn?" - )); - chatLists.add(new ChatList( - R.drawable.priagung, - "Priagung Satyagama", - "Woi sini ke sekre 2 temani diriku yang kesepian" - )); - chatLists.add(new ChatList( - R.drawable.rama, - "Yusuf Rahmat Pratama", - "Eh, gmn gmn?" - )); - chatLists.add(new ChatList( - R.drawable.priagung, - "Priagung Satyagama", - "Woi sini ke sekre 2 temani diriku yang kesepian" - )); - chatLists.add(new ChatList( - R.drawable.rama, - "Yusuf Rahmat Pratama", - "Eh, gmn gmn?" - )); - chatLists.add(new ChatList( - R.drawable.priagung, - "Priagung Satyagama", - "Woi sini ke sekre 2 temani diriku yang kesepian" - )); - chatLists.add(new ChatList( - R.drawable.rama, - "Yusuf Rahmat Pratama", - "Eh, gmn gmn?" - )); - return chatLists; + @Override + public void onFragmentInteraction(Uri uri){ + //you can leave it empty } } diff --git a/android/app/src/main/res/drawable/home.png b/android/app/src/main/res/drawable/home.png new file mode 100644 index 0000000000000000000000000000000000000000..c21d8511b0d8aa3e5645682f2d9c7fc076c08971 GIT binary patch literal 3567 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable/ic_android_black_96dp.xml b/android/app/src/main/res/drawable/ic_android_black_96dp.xml new file mode 100644 index 0000000..f8142be --- /dev/null +++ b/android/app/src/main/res/drawable/ic_android_black_96dp.xml @@ -0,0 +1,5 @@ +<vector android:height="96dp" android:tint="#233A63" + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="96dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M6,18c0,0.55 0.45,1 1,1h1v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L11,19h2v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L16,19h1c0.55,0 1,-0.45 1,-1L18,8L6,8v10zM3.5,8C2.67,8 2,8.67 2,9.5v7c0,0.83 0.67,1.5 1.5,1.5S5,17.33 5,16.5v-7C5,8.67 4.33,8 3.5,8zM20.5,8c-0.83,0 -1.5,0.67 -1.5,1.5v7c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5v-7c0,-0.83 -0.67,-1.5 -1.5,-1.5zM15.53,2.16l1.3,-1.3c0.2,-0.2 0.2,-0.51 0,-0.71 -0.2,-0.2 -0.51,-0.2 -0.71,0l-1.48,1.48C13.85,1.23 12.95,1 12,1c-0.96,0 -1.86,0.23 -2.66,0.63L7.85,0.15c-0.2,-0.2 -0.51,-0.2 -0.71,0 -0.2,0.2 -0.2,0.51 0,0.71l1.31,1.31C6.97,3.26 6,5.01 6,7h12c0,-1.99 -0.97,-3.75 -2.47,-4.84zM10,5L9,5L9,4h1v1zM15,5h-1L14,4h1v1z"/> +</vector> diff --git a/android/app/src/main/res/drawable/ln_logo.png b/android/app/src/main/res/drawable/ln_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b951fb2bbf3727fe2159423e9d80a19343fa99 GIT binary patch literal 6779 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable/profile.png b/android/app/src/main/res/drawable/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..104ec539a7b6ea272d3cd32cf39932c9413d79ac GIT binary patch literal 9931 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable/robotic.png b/android/app/src/main/res/drawable/robotic.png new file mode 100644 index 0000000000000000000000000000000000000000..fee4963c2d6bde2f7f3b5c159fdb5789d3439319 GIT binary patch literal 14682 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index a61d8a6..7332f15 100644 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -13,13 +13,13 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> - <android.support.design.widget.NavigationView - android:id="@+id/nav_view" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_gravity="start" - android:fitsSystemWindows="true" - app:headerLayout="@layout/nav_header_main" - app:menu="@menu/activity_main_drawer" /> + <!--<android.support.design.widget.NavigationView--> + <!--android:id="@+id/nav_view"--> + <!--android:layout_width="wrap_content"--> + <!--android:layout_height="match_parent"--> + <!--android:layout_gravity="start"--> + <!--android:fitsSystemWindows="true"--> + <!--app:headerLayout="@layout/nav_header_main"--> + <!--app:menu="@menu/activity_main_drawer" />--> </android.support.v4.widget.DrawerLayout> diff --git a/android/app/src/main/res/layout/app_bar_main.xml b/android/app/src/main/res/layout/app_bar_main.xml index e73eece..7e1101d 100644 --- a/android/app/src/main/res/layout/app_bar_main.xml +++ b/android/app/src/main/res/layout/app_bar_main.xml @@ -16,8 +16,28 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" - android:background="?attr/colorPrimary" - app:popupTheme="@style/AppTheme.PopupOverlay" /> + android:background="@android:color/white" + app:popupTheme="@style/AppTheme.PopupOverlay"> + + <android.support.constraint.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:foregroundGravity="center"> + + <ImageView + android:id="@+id/toolbar_image" + android:layout_width="100dp" + android:layout_height="30dp" + android:layout_marginEnd="16dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent"/> + + + </android.support.constraint.ConstraintLayout> + + </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> diff --git a/android/app/src/main/res/layout/content_main.xml b/android/app/src/main/res/layout/content_main.xml index fc7f50b..9ea0d2e 100644 --- a/android/app/src/main/res/layout/content_main.xml +++ b/android/app/src/main/res/layout/content_main.xml @@ -13,17 +13,22 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + android:layout_marginBottom="56dp"/> + - <!--<android.support.v7.widget.RecyclerView--> - <!--android:id="@+id/chat_list_rv"--> - <!--android:layout_width="match_parent"--> - <!--android:layout_height="match_parent"--> - <!--app:layout_constraintStart_toStartOf="parent"--> - <!--app:layout_constraintEnd_toEndOf="parent"--> - <!--app:layout_constraintTop_toTopOf="parent"--> - <!--app:layout_constraintBottom_toBottomOf="parent">--> <!--</android.support.v7.widget.RecyclerView>--> + <android.support.design.widget.BottomNavigationView + android:id="@+id/navigation" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="0dp" + android:layout_marginEnd="0dp" + android:background="?android:attr/windowBackground" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:menu="@menu/navigation" /> </android.support.constraint.ConstraintLayout> \ No newline at end of file diff --git a/android/app/src/main/res/layout/fragment_chat.xml b/android/app/src/main/res/layout/fragment_bot.xml similarity index 82% rename from android/app/src/main/res/layout/fragment_chat.xml rename to android/app/src/main/res/layout/fragment_bot.xml index ea2cfd7..d530ae6 100644 --- a/android/app/src/main/res/layout/fragment_chat.xml +++ b/android/app/src/main/res/layout/fragment_bot.xml @@ -3,12 +3,12 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ChatFragment"> + tools:context=".BotFragment"> <!-- TODO: Update blank fragment layout --> <TextView android:layout_width="match_parent" android:layout_height="match_parent" - android:text="@string/hello_blank_fragment" /> + android:text="Bot fragment" /> </FrameLayout> \ No newline at end of file diff --git a/android/app/src/main/res/layout/fragment_home.xml b/android/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..bfe64f4 --- /dev/null +++ b/android/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" + tools:context=".BotFragment"> + + <android.support.v7.widget.RecyclerView + android:id="@+id/chat_list_rv" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent"/> + +</android.support.constraint.ConstraintLayout> \ No newline at end of file diff --git a/android/app/src/main/res/menu/navigation.xml b/android/app/src/main/res/menu/navigation.xml new file mode 100644 index 0000000..67329dd --- /dev/null +++ b/android/app/src/main/res/menu/navigation.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + + + + <item + android:id="@+id/navigation_profile" + android:icon="@drawable/profile" + android:title="@string/navigation_profile" /> + + <item + android:id="@+id/navigation_home" + android:icon="@drawable/home" + android:title="@string/navigation_home" /> + + <item + android:id="@+id/navigation_bot" + android:icon="@drawable/robotic" + android:title="@string/navigation_bot" /> + + +</menu> diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 3c0a395..ba5a5b4 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -22,5 +22,8 @@ <!-- TODO: Remove or change this placeholder text --> <string name="hello_blank_fragment">Hello blank fragment</string> + <string name="navigation_profile">Profile</string> + <string name="navigation_home">Home</string> + <string name="navigation_bot">Bot</string> </resources> -- GitLab