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); }