Android

SmartHome 어플 제작 - 무드등 탭

로픽 2017. 9. 17. 19:09
300x250

SmartHome 어플 제작 - 무드등 탭


이전에 학교 과제로 제작하던 SmartHome(라즈베리, 아두이노이용)에 무드등 기능을 

추가하기 위해서 새로운 탭을 생성하고 우선 UI를 먼저 생성하였습니다. 

일단 예상 UI이므로 더 보기 좋게 만들 예정입니다.

일단 첫번째 이미지는 무드등에서 색상을 제어하기 위해서 3개의 TextView를 생성하여 색상을 정했습니다.
(이후 버튼으로 변경할 예정입니다.)

두번째 이미지는 첫번째 이미지 우측상단에 예약설정을 클릭하면 넘어가는 탭입니다.

timepicker를 통해서 시간을 설정하고 예약 on/off 기능을 추가하였습니다.


     



** 첫번째 이미지 (activity_alarm.xml)


<?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"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:padding="10dp"

    android:background="#ffffff"

    tools:context="com.example.dmbtv.smarthome.ReserveActivity">


    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="5"

        android:orientation="vertical">

        <TimePicker

            android:id="@+id/timePicker"

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:timePickerMode="spinner" />

    </LinearLayout>



    <RelativeLayout

        android:id="@+id/function"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="2">


        <TextView

            android:id="@+id/function_text"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentStart="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical"

            android:text="기능"

            android:textSize="20dp"

            android:textStyle="bold" />


        <Spinner

            android:id="@+id/function_spinner"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentEnd="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical" />

    </RelativeLayout>


    <RelativeLayout

        android:id="@+id/on_off"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="2">


        <TextView

            android:id="@+id/onoffBtn"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentStart="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical"

            android:text="예약 on/off"

            android:textSize="20dp"

            android:textStyle="bold" />


        <Switch

            android:id="@+id/onoffSwitch"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentEnd="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical" />

    </RelativeLayout>


    <Button

        android:id="@+id/alarmDelete"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="1"

        android:text="예약 삭제"/>


</LinearLayout>




** 두번째 이미지 (activity_reserve.xml)


<?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"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:padding="10dp"

    android:background="#ffffff"

    tools:context="com.example.dmbtv.smarthome.ReserveActivity">


    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="5"

        android:orientation="vertical">

        <TimePicker

            android:id="@+id/timePicker"

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:timePickerMode="spinner" />

    </LinearLayout>



    <RelativeLayout

        android:id="@+id/function"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="2">


        <TextView

            android:id="@+id/function_text"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentStart="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical"

            android:text="기능"

            android:textSize="20dp"

            android:textStyle="bold" />


        <Spinner

            android:id="@+id/function_spinner"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentEnd="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical" />

    </RelativeLayout>


    <RelativeLayout

        android:id="@+id/on_off"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="2">


        <TextView

            android:id="@+id/onoffBtn"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentStart="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical"

            android:text="예약 on/off"

            android:textSize="20dp"

            android:textStyle="bold" />


        <Switch

            android:id="@+id/onoffSwitch"

            android:layout_width="wrap_content"

            android:layout_height="match_parent"

            android:layout_alignParentEnd="true"

            android:layout_alignParentTop="true"

            android:gravity="center_vertical" />

    </RelativeLayout>


    <Button

        android:id="@+id/alarmDelete"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="1"

        android:text="예약 삭제"/>


</LinearLayout>




이어서 추가로 새로운 기능을 포스팅하도록 하겠습니다~

반응형