LinearLayoutのvertical中に、LinearLayoutのhorizontalで、tableのようなレイアウトを実現しています。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="self.stopwatchapp.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:gravity="center"
android:textSize="64sp"
android:textStyle="bold"
android:id="@+id/timerLabel"
android:text="00:00.000" />
<LinearLayout
android:layout_width="match_parent"
android:layout_weight="1"
android:orientation="horizontal"
android:layout_height="0dp">
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:text="Start"
android:id="@+id/startButton"
android:onClick="startTimer"
android:layout_height="wrap_content"
/>
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:text="Stop"
android:id="@+id/stopButton"
android:onClick="stopTimer"
android:layout_height="wrap_content"
/>
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:text="Reset"
android:id="@+id/resetButton"
android:onClick="resetTimer"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
classはbooleanで判定しています。
startButton = (Button) findViewById(R.id.startButton);
stopButton = (Button) findViewById(R.id.stopButton);
resetButton = (Button) findViewById(R.id.resetButton);
setButtonState(true, false, false);
}
public void setButtonState(boolean start, boolean stop, boolean reset){
startButton.setEnabled(start);
stopButton.setEnabled(stop);
resetButton.setEnabled(reset);
}