vibbix/BallroomCalculator

View on GitHub
app/src/main/res/layout/activity_main.xml

Summary

Maintainability
Test Coverage
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>

        <variable
            name="calc"
            type="com.vibbix.ballroom.ObservableBallRoomCalculator" />

        <import type="android.view.View" />
    </data>

    <LinearLayout
    android:id="@+id/transition_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:orientation="vertical"
        android:theme="@style/AppTheme"
        android:weightSum="1">
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize">
    </android.support.v7.widget.Toolbar>

    <LinearLayout
        android:id="@+id/llSwitch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">
        <Switch
            android:id="@+id/switchMetric"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="4dp"
            android:checked="@={calc.isMetric}"
            android:text="@string/Metric" />

        <Switch
            android:id="@+id/switchEasy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="4dp"
            android:checked="@={calc.isEasy}"
            android:text="@string/EasyMode" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/llEfficiency"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:fadeVisible="@{!calc.isEasy}">

        <TextView
            android:id="@+id/txtEfficiency"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="4dp"
            android:text="@string/BallEfficiency"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <SeekBar
            android:id="@+id/seekEfficiency"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:progress="@={calc.efficiency, default=64}" />

        <TextView
            android:id="@+id/txtEfficiencyPercent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_margin="4dp"
            android:text="@{calc.efficiency + `%`}"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/llArea"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:focusableInTouchMode="false"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/txtconstArea"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:labelFor="@+id/decimalArea"
            android:text="@string/BallArea" />

        <EditText
            android:id="@+id/decimalArea"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="numberDecimal"
            android:maxLength="10"
            android:text="@={calc.area, default=@string/default_area}"/>

        <TextView
            android:id="@+id/txtunitSquared"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:text="@{calc.isMetric ? @string/MeterSquared : @string/FeetSquared}" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/llDepth"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/txtconstDepth"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:labelFor="@+id/decimalDepth"
            android:text="@string/BallDepth" />

        <EditText
            android:id="@+id/decimalDepth"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="numberDecimal"
            android:maxLength="10"
            android:text="@={calc.depth, default=@string/default_depth}"/>

        <TextView
            android:id="@+id/txtunitstd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:text="@{calc.isMetric ? @string/Meter : @string/Feet}" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/llRadius"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal"
        app:fadeVisible="@{!calc.isEasy}">

        <TextView
            android:id="@+id/txtconstRadius"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:labelFor="@+id/decimalRadius"
            android:text="@string/BallRadius" />

        <EditText
            android:id="@+id/decimalRadius"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="numberDecimal"
            android:maxLength="10"
            android:text="@={calc.radius, default=@string/default_radius}" />

        <TextView
            android:id="@+id/txtunitsmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:text="@{calc.isMetric ? @string/centimeter : @string/Inchs}" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/llMoney"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/txtconstMoney"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="4dp"
            android:labelFor="@+id/decimalMoney"
            android:text="@string/BallPrice" />

        <EditText
            android:id="@+id/decimalMoney"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="4dp"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="numberDecimal"
            android:maxLength="10"
            android:text="@={calc.price, default=@string/default_money}" />

        <TextView
            android:id="@+id/txtunitmoney"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="4dp"
            android:text="@string/default_currency" />
    </LinearLayout>

    <TextView
        android:id="@+id/txtResult"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_margin="4sp"
        android:text="@{@string/formattedresult(calc.balls, `$`, calc.cost)}"
        android:textAppearance="?android:attr/textAppearanceLarge"
        app:fadeVisible="@{calc.balls &gt; 1}" />
</LinearLayout>
</layout>