added lesson as custom gui component

This commit is contained in:
Jannik 2018-10-25 16:44:36 +02:00
parent 8741652638
commit a367865971
5 changed files with 93 additions and 90 deletions

View File

@ -20,13 +20,17 @@
*
*/
package org.mosad.seil0.projectlaogai
import android.annotation.SuppressLint
import android.annotation.TargetApi
import android.content.res.ColorStateList
import android.graphics.Color
import android.graphics.Color.*
import android.os.Build
import android.os.Bundle
import android.support.annotation.RequiresApi
import android.support.v4.app.Fragment
import android.support.v7.widget.CardView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@ -71,34 +75,43 @@ class HomeFragment : Fragment() {
txtViewMenu2.text = "Riesen Currywurst\nCurryketchup\nGitterkartoffeln\nBlattsalat"
}
@TargetApi(Build.VERSION_CODES.O)
@RequiresApi(Build.VERSION_CODES.O)
@SuppressLint("SetTextI18n")
private fun addLessons() {
// for each lesson to display on homescreen create a cardview
val lessonCardView1 = LessonCardView(context!!, null)
val lessonCardView2 = LessonCardView(context!!, null)
val lessonCardView3 = LessonCardView(context!!, null)
val lessonCardView4 = LessonCardView(context!!, null)
val lessonCardView5 = LessonCardView(context!!, null)
val cardView = CardView(context!!)
val linLayout = LinearLayout(context)
val tv = TextView(context)
lessonCardView1.getTxtViewLesson().text = "Computernetze 1\nMayer E.\nA213"
lessonCardView1.getTxtViewTime().text = "8.00 - 9.30"
cardView.radius = 20F
cardView.cardElevation = 10F
cardView.setContentPadding(10,10,10,10)
cardView.preventCornerOverlap = true
cardView.useCompatPadding = true
lessonCardView2.getTxtViewLesson().text = "Computernetze 1\nMayer E.\nA213"
lessonCardView2.getTxtViewTime().text = "8.00 - 9.30"
linLayout.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 160)
linLayout.orientation = LinearLayout.HORIZONTAL
lessonCardView3.getTxtViewLesson().text = "Computernetze 1\nMayer E.\nA213"
lessonCardView3.getTxtViewTime().text = "8.00 - 9.30"
lessonCardView4.getTxtViewLesson().text = "Computernetze 1\nMayer E.\nA213"
lessonCardView4.getTxtViewTime().text = "8.00 - 9.30"
tv.text = "test\nRaum abc"
lessonCardView5.getTxtViewLesson().text = "Computernetze 1\nMayer E.\nA213"
lessonCardView5.getTxtViewTime().text = "8.00 - 9.30"
linLayout.addView(tv)
cardView.addView(linLayout)
lessonCardView1.setBackgroundColor(Color.parseColor("#3F51B5"))
// ff00ddff
// TODO make lesson card an seperate oject
//var lessonCardView = LessonCardView(context!!, null)
linLayoutTimeTable.addView(cardView)
linLayoutTimeTable.run {
addView(lessonCardView1)
addView(lessonCardView2)
addView(lessonCardView3)
addView(lessonCardView4)
addView(lessonCardView5)
}
}
}

View File

@ -1,17 +1,53 @@
/**
* ProjectLaogai
*
* Copyright 2018 <seil0@mosad.xyz>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*/
package org.mosad.seil0.projectlaogai
import android.content.Context
import android.graphics.Color
import android.support.v7.widget.CardView
import android.util.AttributeSet
import android.view.LayoutInflater
import kotlinx.android.synthetic.main.lesson_cardview.view.*
import android.widget.TextView
class LessonCardView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : CardView(context, attrs){
private var txtViewLesson: TextView
private var txtViewTime: TextView
class LessonCardView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) : CardView(context, attrs){
init {
LayoutInflater.from(context).inflate(R.layout.lesson_cardview,this, false)
inflate(context, R.layout.lesson_cardview,this)
txtViewLesson = findViewById(R.id.txtView_Lesson)
txtViewTime = findViewById(R.id.txtView_Time)
// workaround to prevent a white border
this.setBackgroundColor(Color.parseColor("#3F51B5"))
}
fun getTxtViewLesson(): TextView {
return txtViewLesson
}
fun getTxtViewTime(): TextView {
return txtViewTime
}
}

View File

@ -36,6 +36,6 @@
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email"/>
app:srcCompat="@android:drawable/ic_dialog_email" android:visibility="invisible"/>
</android.support.design.widget.CoordinatorLayout>

View File

@ -14,9 +14,9 @@
android:id="@+id/cardView"
android:layout_width="0dp"
android:layout_height="125dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:clickable="false"
android:maxHeight="125dp"
app:cardCornerRadius="15dp"
@ -52,8 +52,8 @@
android:id="@+id/cardView2"
android:layout_width="0dp"
android:layout_height="125dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
app:cardCornerRadius="15dp"
app:cardUseCompatPadding="true"
app:layout_constraintEnd_toEndOf="parent"
@ -86,66 +86,23 @@
<ScrollView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="12dp"
android:background="@color/colorPrimary"
android:layout_marginTop="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardView2" android:id="@+id/scrollView_TimeTable">
app:layout_constraintTop_toBottomOf="@+id/cardView2" android:id="@+id/scrollView_TimeTable"
>
<LinearLayout
android:id="@+id/linLayout_TimeTable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="5dp"
android:paddingRight="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardView2">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="80dp"
app:cardBackgroundColor="@android:color/holo_red_light"
app:cardCornerRadius="10dp"
app:cardElevation="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true"
app:contentPadding="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/a_lesson"
android:textColor="@android:color/primary_text_light"
android:textSize="14sp"
android:textStyle="bold"
android:typeface="sans"/>
<TextView
android:id="@+id/textView6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:text="@string/a_time"/>
</LinearLayout>
</android.support.v7.widget.CardView>
<include
layout="@layout/lesson_cardview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</ScrollView>

View File

@ -2,22 +2,19 @@
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@android:color/holo_blue_bright"
app:cardCornerRadius="10dp"
app:cardElevation="5dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true"
app:contentPadding="5dp">
app:contentPadding="5dp" app:cardElevation="5dp"
app:cardUseCompatPadding="true" app:cardPreventCornerOverlap="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView4"
android:id="@+id/txtView_Lesson"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/a_lesson"
@ -27,7 +24,7 @@
android:typeface="sans"/>
<TextView
android:id="@+id/textView"
android:id="@+id/txtView_Time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"