반응형
View 만드는 코드
Kotiln code
open class InfoView @JvmOverloads constructor(context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0)
: LinearLayout(context, attrs, defStyleAttr){
init {
View.inflate(context, R.layout.view_info, this)
}
}
info_view.xml code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="8dp">
<ImageView
android:id="@+id/typeImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/ic_alarm" />
<TextView
android:id="@+id/infoText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_weight="1"
android:text="TextView" />
</LinearLayout>
AlarmInfoView.kt
class AlarmInfoView @JvmOverloads constructor(context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0)
: InfoView(context, attrs, defStyleAttr) {
companion object {
private val dateFormat = SimpleDateFormat("yy//MM/dd HH:mm")
}
init {
typeImage.setImageResource(R.drawable.ic_alarm)
infoText.setText("")
}
fun setAlarmDate(alarmDate : Date){
if(alarmDate.before(Date())){
infoText.setText("알람이 없습니다.")
}else {
infoText.setText(dateFormat.format(alarmDate))
}
}
}
액티비티에 View
<view
android:id="@+id/alarmInfoView"
class="com.example.memoapp.data.AlarmInfoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_marginTop="24dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
'안드로이드 프로그래밍[Kotiln Code] > 안드로이드 부분 함수(권한얻기,인텐트, 데이터바인딩)' 카테고리의 다른 글
[Kotiln] 화면 오버레이 권한 획득 (0) | 2020.04.16 |
---|---|
[Kotiln] 안드로이드 죽지 않는 서비스 사용하기 (라이프 싸이클 이용) (0) | 2020.04.08 |
[Kotiln] 앱 띄울때 시스템 UI를 숨기고 전체화면 표시 (0) | 2020.04.07 |
[Kotiln] handler and runnable (0) | 2020.04.07 |
[Kotiln] Work Manager (0) | 2020.04.07 |