From c77e535817856306dbf73a1a54b354548e907598 Mon Sep 17 00:00:00 2001 From: Seil0 Date: Sat, 27 Oct 2018 00:39:56 +0200 Subject: [PATCH] added MenuCardView and minor clean ups --- .../seil0/projectlaogai/LessonCardView.kt | 1 - .../mosad/seil0/projectlaogai/MainActivity.kt | 3 +- .../seil0/projectlaogai/MensaFragment.kt | 42 ++++++++++++++++--- .../mosad/seil0/projectlaogai/MenuCardView.kt | 30 +++++++++++++ .../seil0/projectlaogai/SettingsFragment.kt | 13 ++++-- app/src/main/res/layout/fragment_home.xml | 1 - app/src/main/res/layout/fragment_mensa.xml | 3 +- app/src/main/res/layout/fragment_settings.xml | 2 - app/src/main/res/layout/menu_cardview.xml | 42 +++++++++++++++++++ 9 files changed, 120 insertions(+), 17 deletions(-) create mode 100644 app/src/main/java/org/mosad/seil0/projectlaogai/MenuCardView.kt create mode 100644 app/src/main/res/layout/menu_cardview.xml diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt index 6b1592d..a3b6853 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt @@ -24,7 +24,6 @@ package org.mosad.seil0.projectlaogai import android.content.Context import android.graphics.Color -import androidx.cardview.widget.CardView import android.util.AttributeSet import android.widget.TextView diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt index 9d50647..46cacbd 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt @@ -23,7 +23,6 @@ package org.mosad.seil0.projectlaogai import android.os.Bundle -import com.google.android.material.snackbar.Snackbar import com.google.android.material.navigation.NavigationView import androidx.core.view.GravityCompat import androidx.appcompat.app.ActionBarDrawerToggle @@ -92,7 +91,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte fragmentTransaction.commit() } R.id.nav_mensa -> { - val mensaFragment: MensaFragment = MensaFragment() + val mensaFragment = MensaFragment() val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.replace(R.id.fragment_container, mensaFragment) fragmentTransaction.commit() diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt index b67ae13..5c17a16 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt @@ -22,11 +22,14 @@ package org.mosad.seil0.projectlaogai +import android.graphics.drawable.GradientDrawable import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.LinearLayout +import android.widget.TextView /** * A simple [Fragment] subclass. @@ -34,12 +37,39 @@ import android.view.ViewGroup */ class MensaFragment : Fragment() { - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_mensa, container, false) + private lateinit var linLayoutMensaFragment: LinearLayout + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + + val view: View = inflater.inflate(R.layout.fragment_mensa, container, false) + + linLayoutMensaFragment = view.findViewById(R.id.linLayout_MensaFragment) + + addDay() + + return view + } + + fun addDay() { + + val linLayoutDay = LinearLayout(context) + val txtViewDayHeading = TextView(context, null, R.string.sample_date) + val menuViewMenu1 = MenuCardView(context!!, null) + val menuViewMenu2 = MenuCardView(context!!, null) + + menuViewMenu1.getTxtViewMenuHeading().text = "Essen 1" + menuViewMenu1.getTxtViewMenu().text = "Buntes Pfannengemüse\nCouscous\nBlattsalat" + menuViewMenu2.getTxtViewMenuHeading().text = "Essen 2" + menuViewMenu2.getTxtViewMenu().text = "Riesen Currywurst\nCurryketchup\nGitterkartoffeln\nBlattsalat" + + linLayoutDay.orientation = LinearLayout.VERTICAL + linLayoutDay.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT) + linLayoutDay.addView(txtViewDayHeading) + linLayoutDay.addView(menuViewMenu1) + linLayoutDay.addView(menuViewMenu2) + + linLayoutMensaFragment.addView(linLayoutDay) + } diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/MenuCardView.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/MenuCardView.kt new file mode 100644 index 0000000..1ea6eee --- /dev/null +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/MenuCardView.kt @@ -0,0 +1,30 @@ +package org.mosad.seil0.projectlaogai + +import android.content.Context +import android.graphics.Color +import android.util.AttributeSet +import android.widget.TextView + +class MenuCardView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : androidx.cardview.widget.CardView(context, attrs){ + + private var txtViewMenuHeading: TextView + private var txtViewMenu: TextView + + init { + inflate(context, R.layout.menu_cardview,this) + + txtViewMenuHeading = findViewById(R.id.txtView_MenuHeading) + txtViewMenu = findViewById(R.id.txtView_Menu) + + // workaround to prevent a white border + this.setBackgroundColor(Color.TRANSPARENT) + } + + fun getTxtViewMenuHeading(): TextView { + return txtViewMenuHeading + } + + fun getTxtViewMenu(): TextView { + return txtViewMenu + } +} \ No newline at end of file diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt index 3297f95..25d0c27 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt @@ -31,9 +31,9 @@ import android.view.ViewGroup import android.widget.LinearLayout import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.color.colorChooser +import com.afollestad.materialdialogs.list.listItems import kotlinx.android.synthetic.main.fragment_settings.* - /** * The settings controller class * contains all needed parts to display and the settings screen @@ -50,8 +50,6 @@ class SettingsFragment : Fragment() { val view: View = inflater.inflate(R.layout.fragment_settings, container, false) - - linLayoutUser = view.findViewById(R.id.linLayout_User) linLayoutCourse = view.findViewById(R.id.linLayout_Course) linLayoutInfo = view.findViewById(R.id.linLayout_Info) @@ -74,6 +72,15 @@ class SettingsFragment : Fragment() { linLayoutCourse.setOnClickListener { // open a new dialog + val courses = listOf("AI1", "AI2", "AI3", "AI4", "AI5", "AI6", "AI7") + MaterialDialog(context!!) + .listItems(items = courses){ dialog, index, text -> + // TODO save selected course + + // update txtView + txtView_Course.text = text + } + .show() } linLayoutInfo.setOnClickListener { diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 76c05f6..4bfc9e6 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -82,7 +82,6 @@ android:typeface="sans"/> - - @@ -13,7 +12,7 @@ + android:layout_height="wrap_content" android:id="@+id/linLayout_MensaFragment"> - - diff --git a/app/src/main/res/layout/menu_cardview.xml b/app/src/main/res/layout/menu_cardview.xml new file mode 100644 index 0000000..0c4bea2 --- /dev/null +++ b/app/src/main/res/layout/menu_cardview.xml @@ -0,0 +1,42 @@ + + + + + + + + + + \ No newline at end of file