diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml deleted file mode 100644 index d11d79d..0000000 --- a/.idea/assetWizardSettings.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 5d76a5c..381c24d 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java b/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java index 9d5fb4a..add1ffe 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java +++ b/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java @@ -1,14 +1,58 @@ package com.pkmnapps.activitydo; +import android.Manifest; +import android.app.Activity; +import android.app.AlertDialog; import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; +import android.os.Environment; +import android.provider.MediaStore; +import android.support.annotation.Nullable; +import android.support.v4.app.ActivityCompat; import android.support.v4.app.Fragment; +import android.support.v4.content.FileProvider; +import android.support.v7.widget.DefaultItemAnimator; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.support.v7.widget.helper.ItemTouchHelper; +import android.util.Log; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ImageButton; +import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; + +import com.bumptech.glide.Glide; +import com.flipboard.bottomsheet.BottomSheetLayout; +import com.flipboard.bottomsheet.commons.ImagePickerSheetView; +import com.flipboard.bottomsheet.commons.MenuSheetView; +import com.pkmnapps.activitydo.adapters.ActivityContentAdapter; +import com.pkmnapps.activitydo.custominterfaces.TaskActivityInterface; +import com.pkmnapps.activitydo.databasehelpers.DBHelperImage; +import com.pkmnapps.activitydo.databasehelpers.DBHelperList; +import com.pkmnapps.activitydo.databasehelpers.DBHelperText; +import com.pkmnapps.activitydo.databasehelpers.DBHelperWidgets; +import com.pkmnapps.activitydo.dataclasses.ActivityData; +import com.pkmnapps.activitydo.dataclasses.ImageWidget; +import com.pkmnapps.activitydo.dataclasses.ListWidget; +import com.pkmnapps.activitydo.dataclasses.SimpleTextWidget; +import com.pkmnapps.activitydo.dataclasses.Widget; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static com.pkmnapps.activitydo.MConstants.REQUEST_LOAD_IMAGE; +import static com.pkmnapps.activitydo.MConstants.REQUEST_STORAGE; /** @@ -19,7 +63,19 @@ * Use the {@link QuickNotesFragment#newInstance} factory method to * create an instance of this fragment. */ -public class QuickNotesFragment extends Fragment { +public class QuickNotesFragment extends Fragment implements TaskActivityInterface{ + public ActivityData activityData; + BottomSheetLayout bottomSheetLayout; + View currentSheetView; + RecyclerView recyclerView; + ActivityContentAdapter activityContentAdapter; + List widgets; + Uri cameraImageUri = null; + String tempUid; + DBHelperWidgets dbHelperWidgets; + + View view; + // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; @@ -65,36 +121,19 @@ public void onCreate(Bundle savedInstanceState) { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_quick_notes, container, false); + view = inflater.inflate(R.layout.fragment_quick_notes, container, false);//same layout for both - TextView takeNote = (TextView)view.findViewById(R.id.note_tvbutton); - takeNote.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { + activityData = new ActivityData("0","Quick Notes","#ffffff",false,0);//only id is useful here - } - }); - ImageButton more = (ImageButton)view.findViewById(R.id.more_button); - more.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - } - }); - ImageButton list = (ImageButton)view.findViewById(R.id.list_button); - list.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { + dbHelperWidgets = new DBHelperWidgets(getContext()); + + bottomSheetLayout = (BottomSheetLayout)view.findViewById(R.id.bottomsheet); + setUpJumpControls(); + setUpRecyclerView(); + initialiseRecyclerViewData(); - } - }); - ImageButton image = (ImageButton)view.findViewById(R.id.image_button); - image.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - } - }); // Inflate the layout for this fragment return view; } @@ -137,4 +176,436 @@ public interface OnFragmentInteractionListener { // TODO: Update argument type and name void onFragmentInteraction(Uri uri); } + @Override + public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + Log.w("n",String.valueOf(requestCode)); + Log.w("n",String.valueOf(resultCode)); + if (resultCode == Activity.RESULT_OK) { + Uri selectedImage = null; + if (requestCode == REQUEST_LOAD_IMAGE && data != null) { //image from gallery + selectedImage = data.getData(); + if (selectedImage != null) { + addImageWidget(selectedImage); + } else { + genericError(); + } + } else if (requestCode == MConstants.REQUEST_IMAGE_CAPTURE) {//image from camera + // Do something with imagePath + selectedImage = cameraImageUri; + if (selectedImage != null) { + addImageWidget(selectedImage); + } else { + genericError(); + } + } else if(requestCode == MConstants.REQUEST_NEW_NOTE && data != null){ + + //save note + String uid = data.getStringExtra("uid"); + int index = data.getIntExtra("index",-1000); + DBHelperText dbHelperText = new DBHelperText(getContext()); + + //update note + SimpleTextWidget s; + if(index==-1000) {//for new note + s = dbHelperText.getTextWidget(uid); + if(s!=null) + widgets.add(0,new Widget(MConstants.textW,s,uid,0)); + } + else{//for edited note + s = dbHelperText.getTextWidget(uid); + if(s!=null) { + widgets.set(index, new Widget(MConstants.textW, s,uid,index));//replacing widget + }else { + widgets.remove(index);//delete as it doesnt exist + } + } + //update UI + dbHelperWidgets.updateAllWidgetSortOrders(widgets); + activityContentAdapter.notifyDataSetChanged(); + + } else if(requestCode == MConstants.REQUEST_NEW_LIST && data != null){ + DBHelperList dbHelperList = new DBHelperList(getContext()); + String lid = data.getStringExtra("lid"); + ListWidget listWidget = dbHelperList.getListWidget(lid); + + int index = data.getIntExtra("index",-1000); + if(index==-1000) {//new list + widgets.add(0,new Widget(MConstants.listW, listWidget,lid,0)); + } + else {//more list + widgets.set(index, new Widget(MConstants.listW, listWidget,lid,index)); + } + //update ui + dbHelperWidgets.updateAllWidgetSortOrders(widgets); + activityContentAdapter.notifyDataSetChanged(); + } + } + } + + + private void setUpJumpControls(){ + TextView takeNote = (TextView)view.findViewById(R.id.note_tvbutton); + takeNote.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + createNote(); + } + }); + ImageButton more = (ImageButton)view.findViewById(R.id.more_button); + more.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + displayWidgetChoser(); + } + }); + ImageButton list = (ImageButton)view.findViewById(R.id.list_button); + list.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + createList(); + } + }); + ImageButton image = (ImageButton)view.findViewById(R.id.image_button); + image.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (checkNeedsPermission()) { + requestStoragePermission(); + } else { + createImageSheet(); + } + } + }); + } + public void setUpRecyclerView(){ + recyclerView = (RecyclerView)view.findViewById(R.id.recycler_view); + RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false); + recyclerView.setLayoutManager(mLayoutManager); + recyclerView.setItemAnimator(new DefaultItemAnimator()); + recyclerView.setNestedScrollingEnabled(true); + ItemTouchHelper.Callback itcallback = new ItemTouchHelper.Callback() {//for sorting + @Override + public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { + return makeFlag(ItemTouchHelper.ACTION_STATE_DRAG, + ItemTouchHelper.DOWN | ItemTouchHelper.UP); + } + + @Override + public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { + // get the viewHolder's and target's positions in your adapter data, swap them + Collections.swap(widgets, viewHolder.getAdapterPosition(), target.getAdapterPosition()); +// widgets.get(viewHolder.getAdapterPosition()).setSortOrder(target.getAdapterPosition()); +// widgets.get(target.getAdapterPosition()).setSortOrder(viewHolder.getAdapterPosition()); + //s + // and notify the adapter that its dataset has changed + activityContentAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition()); + return true; + } + + @Override + public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { + + } + + @Override + public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, int fromPos, RecyclerView.ViewHolder target, int toPos, int x, int y) { + super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y); + dbHelperWidgets.updateAllWidgetSortOrders(widgets); + } + }; + ItemTouchHelper.Callback itcallbackswipe = new ItemTouchHelper.Callback() { + @Override + public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { + return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE,ItemTouchHelper.RIGHT); + + } + + @Override + public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { + return false; + } + + @Override + public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { + deleteWidget(widgets.get(viewHolder.getAdapterPosition())); + } + }; + ItemTouchHelper itemTouchHelperSwipe = new ItemTouchHelper(itcallbackswipe); + ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itcallback); + itemTouchHelper.attachToRecyclerView(recyclerView); + itemTouchHelperSwipe.attachToRecyclerView(recyclerView); + + widgets = new ArrayList<>(); + activityContentAdapter = new ActivityContentAdapter(widgets,QuickNotesFragment.this); + + recyclerView.setAdapter(activityContentAdapter); + } + + public void initialiseRecyclerViewData(){ + + DBHelperWidgets dbHelperWidgets = new DBHelperWidgets(getContext()); + + //add all simpleTextWidgets + DBHelperText dbHelperText = new DBHelperText(getContext()); + for (SimpleTextWidget o :dbHelperText.getAllTextsAsList(activityData.getId())) { + if(o!=null) { + widgets.add(new Widget(MConstants.textW,o,o.getUid(),dbHelperWidgets.getSortValue(o.getUid()))); + } + } + //add all lists + DBHelperList dbHelperList = new DBHelperList(getContext()); + for(ListWidget o:dbHelperList.getAllListAsList(activityData.getId())){ + if(o!=null) { + widgets.add(new Widget(MConstants.listW, o,o.getUid(),dbHelperWidgets.getSortValue(o.getUid()))); + } + } + + //add all image widgets + DBHelperImage dbHelperImage = new DBHelperImage(getContext()); + for(ImageWidget o:dbHelperImage.getAllImagesAsList(activityData.getId())){ + if(o!=null) + widgets.add(new Widget(MConstants.imageW,o,o.getUid(),dbHelperWidgets.getSortValue(o.getUid()))); + } + sortWidgetList(); + //sort the list + activityContentAdapter.notifyDataSetChanged(); + } + public void sortWidgetList(){ + Boolean swap; + for(int i = 0;iwidgets.get(j+1).getSortOrder()){ + Widget temp = widgets.get(j); + widgets.set(j,widgets.get(j+1)); + widgets.set(j+1,temp); + swap = true; + } + } + if(!swap) + break; + } + } + public void displayWidgetChoser(){ + //show bottomsheet + MenuSheetView menuSheetView = + new MenuSheetView(getContext(), MenuSheetView.MenuType.LIST, "Chose widget", new MenuSheetView.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + if (bottomSheetLayout.isSheetShowing()) { + bottomSheetLayout.dismissSheet(); + } + switch (item.getItemId()){ + case R.id.item_note: + createNote(); + return true; + case R.id.item_list: + createList(); + return true; + case R.id.item_image: + if (checkNeedsPermission()) { + requestStoragePermission(); + } else { + createImageSheet(); + } + return true; + } + + return true; + } + }); + menuSheetView.inflateMenu(R.menu.widget_menu); + bottomSheetLayout.showWithSheetView(menuSheetView); + } + public void createNote() { + Intent intent = new Intent(getContext(),NoteActivity.class); + String uid = String.valueOf(System.currentTimeMillis()); + intent.putExtra("uid",uid); + new DBHelperText(getContext()).insertText(uid,activityData.getId(),"",""); + startActivityForResult(intent,MConstants.REQUEST_NEW_NOTE); + } + public void createList() { + Intent intent = new Intent(getContext(),ListActivity.class); + String lid = String.valueOf(System.currentTimeMillis()); + intent.putExtra("lid",lid); + intent.putExtra("aid",activityData.getId()); + //create a list in database + new DBHelperList(getContext()).insertList(lid,activityData.getId(),""); + startActivityForResult(intent,MConstants.REQUEST_NEW_LIST); + } + public void createImageSheet() { + ImagePickerSheetView sheetView = new ImagePickerSheetView.Builder(getContext()) + .setMaxItems(30) + .setShowCameraOption(createCameraIntent() != null) + .setShowPickerOption(createPickIntent() != null) + .setImageProvider(new ImagePickerSheetView.ImageProvider() { + @Override + public void onProvideImage(ImageView imageView, Uri imageUri, int size) {//feeds image to sheet views + Glide.with(getContext()) + .load(imageUri) + .into(imageView); + } + }) + .setOnTileSelectedListener(new ImagePickerSheetView.OnTileSelectedListener() { + @Override + public void onTileSelected(ImagePickerSheetView.ImagePickerTile selectedTile) { + bottomSheetLayout.dismissSheet(); + tempUid = String.valueOf(System.currentTimeMillis());//do not remove this + if (selectedTile.isCameraTile()) { + dispatchTakePictureIntent(); + } else if (selectedTile.isPickerTile()) { + startActivityForResult(createPickIntent(), REQUEST_LOAD_IMAGE); + } else if (selectedTile.isImageTile()) { + if(selectedTile.getImageUri()!=null) + addImageWidget(selectedTile.getImageUri()); + } else { + genericError(); + } + } + }) + .setTitle("Choose an image...") + .create(); + + bottomSheetLayout.showWithSheetView(sheetView); + } + + private boolean checkNeedsPermission() { + return ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED; + } + + private void requestStoragePermission() { + if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_STORAGE); + } else { + // Eh, prompt anyway + ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_STORAGE); + } + } + + private void addImageWidget(Uri selectedImageUri) { + //save image uri to image database + ImageWidget imageWidget = new ImageWidget(tempUid,activityData.getId(),selectedImageUri.toString()); + DBHelperImage dbHelperImage = new DBHelperImage(getContext()); + dbHelperImage.insertImage(imageWidget); + + //show in widgets + widgets.add(0,new Widget(MConstants.imageW,imageWidget,tempUid,0)); + //update UI + dbHelperWidgets.updateAllWidgetSortOrders(widgets); + activityContentAdapter.notifyDataSetChanged(); + } + + @Nullable + private Intent createPickIntent() { + Intent picImageIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); + if (picImageIntent.resolveActivity(getActivity().getPackageManager()) != null) { + return picImageIntent; + } else { + return null; + } + } + @Nullable + private Intent createCameraIntent() { + Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) { + return takePictureIntent; + } else { + return null; + } + } + + private void dispatchTakePictureIntent() { + Intent takePictureIntent = createCameraIntent(); + // Ensure that there's a camera activity to handle the intent + if (takePictureIntent != null) { + try { + File imageFile = createImageFile(); + // Save a file: path for use with ACTION_VIEW intents + cameraImageUri = FileProvider.getUriForFile(getContext(),"com.pkmnapps.activitydo.fileprovider",imageFile); + + takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, cameraImageUri); + startActivityForResult(takePictureIntent, MConstants.REQUEST_IMAGE_CAPTURE); + } catch (Exception e) { + // Error occurred while creating the File + genericError("Could not create imageFile for camera"); + } + } + } + + private void genericError() { + genericError(null); + } + + private void genericError(String message) { + Toast.makeText(getContext(), message == null ? "Something went wrong." : message, Toast.LENGTH_SHORT).show(); + } + + private File createImageFile() { + // Create an image file name + String imageFileName = tempUid + ".jpg"; + return new File(getContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES),imageFileName); + } + + @Override + public void editWidget(final Widget widget) { + + switch (widget.getType()) { + case MConstants.textW: + final SimpleTextWidget simpleTextWidget = (SimpleTextWidget)widget.getObject(); + Intent intent = new Intent(getContext(),NoteActivity.class); + intent.putExtra("uid",simpleTextWidget.getUid()); + intent.putExtra("head",simpleTextWidget.getHead()); + intent.putExtra("body",simpleTextWidget.getBody()); + intent.putExtra("index",widgets.indexOf(widget)); + startActivityForResult(intent,MConstants.REQUEST_NEW_NOTE); + break; + case MConstants.listW: + final ListWidget listWidget = (ListWidget) widget.getObject(); + Intent intent2 = new Intent(getContext(),ListActivity.class); + intent2.putExtra("lid",listWidget.getUid()); + intent2.putExtra("head",listWidget.getHead()); + intent2.putExtra("index",widgets.indexOf(widget)); + intent2.putExtra("more","1"); + startActivityForResult(intent2,MConstants.REQUEST_NEW_LIST); + break; + + } + } + + public void deleteWidget(final Widget widget){ + //show dialog + AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); + builder.setTitle("Delete ?"); + builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + //delete from list + widgets.remove(widget); + activityContentAdapter.notifyDataSetChanged(); + dbHelperWidgets.updateAllWidgetSortOrders(widgets); + //delete rom database + switch (widget.getType()){ + case MConstants.textW: + new DBHelperText(getContext()).deleteText(((SimpleTextWidget)widget.getObject()).getUid()); + break; + case MConstants.listW: + new DBHelperList(getContext()).deleteList(((ListWidget)widget.getObject()).getUid()); + break; + case MConstants.imageW: + new DBHelperImage(getContext()).deleteImage(((ImageWidget)widget.getObject()).getUid()); + break; + case MConstants.audioW: + break; + } + } + }); + builder.setOnCancelListener(new DialogInterface.OnCancelListener() { + @Override + public void onCancel(DialogInterface dialog) { + activityContentAdapter.notifyDataSetChanged(); + } + }); + builder.show(); + } } diff --git a/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java b/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java index 00af30c..f920fb2 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java +++ b/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java @@ -2,17 +2,19 @@ import android.content.Intent; +import android.content.res.ColorStateList; import android.graphics.Color; +import android.graphics.PorterDuff; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; -import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.ImageButton; +import android.widget.ImageView; import android.widget.PopupMenu; import android.widget.TextView; @@ -32,13 +34,13 @@ public class MyViewHolder extends RecyclerView.ViewHolder { public TextView name; public CheckBox pinned; public ImageButton more; - public View v; + public ImageView label; public MyViewHolder(View view) { super(view); name = (TextView)view.findViewById(R.id.nameTextView); pinned = (CheckBox)view.findViewById(R.id.pinCheckBox); - v = (View)view.findViewById(R.id.colorView); + label = (ImageView) view.findViewById(R.id.colorView); more = (ImageButton)view.findViewById(R.id.more_button); } } @@ -62,7 +64,7 @@ public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) { final ActivityData activityData = activityDataList.get(position); holder.pinned.setChecked(activityData.getPinned()); holder.name.setText(activityData.getName()); - holder.v.setBackgroundColor(Color.parseColor(activityData.getColor())); + holder.label.setColorFilter(Color.parseColor(activityData.getColor()), PorterDuff.Mode.SRC_ATOP); holder.pinned.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/res/drawable/ic_star_black_24dp.xml b/app/src/main/res/drawable/ic_star_black_24dp.xml index 5bcb347..be98780 100644 --- a/app/src/main/res/drawable/ic_star_black_24dp.xml +++ b/app/src/main/res/drawable/ic_star_black_24dp.xml @@ -4,6 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_star_border_black_24dp.xml b/app/src/main/res/drawable/ic_star_border_black_24dp.xml index 9dbef57..0c4ae7a 100644 --- a/app/src/main/res/drawable/ic_star_border_black_24dp.xml +++ b/app/src/main/res/drawable/ic_star_border_black_24dp.xml @@ -4,6 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index 4a374bf..4cb1cf2 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -5,14 +5,13 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" - app:layout_behavior="@string/appbar_scrolling_view_behavior" + app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior" tools:context=".MainActivity" tools:showIn="@layout/app_bar_main"> \ No newline at end of file diff --git a/app/src/main/res/layout/content_task.xml b/app/src/main/res/layout/content_task.xml index 4426b92..95b215b 100644 --- a/app/src/main/res/layout/content_task.xml +++ b/app/src/main/res/layout/content_task.xml @@ -23,7 +23,7 @@ android:layout_weight="1" android:layout_gravity="bottom" android:padding="10dp" - android:scrollbars="vertical" /> + android:scrollbars="none" /> - - - + android:layout_height="match_parent"> - - + + - - + app:layout_behavior="@string/appbar_scrolling_view_behavior" + android:padding="10dp" + android:scrollbars="none" /> + + + + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/recycler_activity_layout.xml b/app/src/main/res/layout/recycler_activity_layout.xml index f53102e..2aac366 100644 --- a/app/src/main/res/layout/recycler_activity_layout.xml +++ b/app/src/main/res/layout/recycler_activity_layout.xml @@ -11,45 +11,47 @@ android:foreground="?android:attr/selectableItemBackground" card_view:cardCornerRadius="4dp"> - - - + + + android:layout_height="wrap_content" + android:maxLines="2" + android:ellipsize="end" + android:text="name" + android:textColor="@color/colorGrey" + android:textSize="30sp" /> + - - +