From: Keith Packard Date: Sun, 12 Jul 2015 05:17:16 +0000 (-0700) Subject: altosdroid: Clean up tab layout X-Git-Tag: 1.6.0.4~2 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=c4af5cb233013b35d6763f5adf8d11b47f847111 altosdroid: Clean up tab layout Fuss with weights and gravitys, then add some wrapping layouts to get things looking reasonable on small and larger screens. Signed-off-by: Keith Packard --- diff --git a/altosdroid/res/layout/tab_flight.xml b/altosdroid/res/layout/tab_flight.xml index 27c903d0..85c171b2 100644 --- a/altosdroid/res/layout/tab_flight.xml +++ b/altosdroid/res/layout/tab_flight.xml @@ -22,379 +22,381 @@ android:orientation="vertical" > + android:orientation="vertical" > - + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" > - - - + + + + + + + - - - + + + + + + + + + + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" > - - - + + + + + + + - - - + android:layout_weight="1" > + + + + + + + + + - + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" + android:paddingTop="5dp" > - + android:layout_weight="1" > + + + + + - + android:layout_weight="1" > + + + + android:paddingTop="5dp" > + android:text="@string/latitude_label" /> - - - - + android:paddingTop="5dp" > + android:text="@string/longitude_label" /> + android:paddingTop="5dp" > - + android:contentDescription="@string/apogee_voltage_label" + android:src="@drawable/grayled" /> - - - - - - - - + android:layout_toRightOf="@id/apogee_redled" + android:contentDescription="@string/apogee_voltage_label" + android:paddingRight="5dp" + android:src="@drawable/grayled" /> + android:layout_toRightOf="@id/apogee_greenled" + android:text="@string/apogee_voltage_label" /> + android:paddingTop="5dp" > - + android:contentDescription="@string/main_voltage_label" + android:src="@drawable/grayled" /> - - - - - - - - + android:layout_toRightOf="@id/main_redled" + android:contentDescription="@string/main_voltage_label" + android:paddingRight="5dp" + android:src="@drawable/grayled" /> + android:layout_toRightOf="@id/main_greenled" + android:text="@string/main_voltage_label" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/altosdroid/res/layout/tab_map.xml b/altosdroid/res/layout/tab_map.xml index 2388a20b..952abd49 100644 --- a/altosdroid/res/layout/tab_map.xml +++ b/altosdroid/res/layout/tab_map.xml @@ -26,6 +26,7 @@ android:baselineAligned="true" android:orientation="horizontal" android:layout_weight="1"> + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - + + + + + + + + + + + - - + + + + + + + + + + + - - + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + android:layout_gravity="center" + android:layout_weight="1" + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/altosdroid/res/layout/tab_recover.xml b/altosdroid/res/layout/tab_recover.xml index c2806629..201f45ed 100644 --- a/altosdroid/res/layout/tab_recover.xml +++ b/altosdroid/res/layout/tab_recover.xml @@ -15,217 +15,237 @@ with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java b/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java index 267c90f8..6cecbdf1 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/GoNoGoLights.java @@ -52,27 +52,14 @@ public class GoNoGoLights { missing = m; set = true; if (missing) { - hide(); red.setImageDrawable(dGray); green.setImageDrawable(dGray); } else if (state) { red.setImageDrawable(dGray); green.setImageDrawable(dGreen); - show(); } else { red.setImageDrawable(dRed); green.setImageDrawable(dGray); - show(); } } - - public void show() { - red.setVisibility(View.VISIBLE); - green.setVisibility(View.VISIBLE); - } - - public void hide() { - red.setVisibility(View.GONE); - green.setVisibility(View.GONE); - } } diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java index e0d49a1c..a02ae3a2 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java @@ -22,11 +22,8 @@ import org.altusmetrum.altoslib_7.*; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; +import android.view.*; +import android.widget.*; import android.location.Location; public class TabFlight extends AltosDroidTab { @@ -41,9 +38,11 @@ public class TabFlight extends AltosDroidTab { private TextView distance_view; private TextView latitude_view; private TextView longitude_view; + private View apogee_view; private TextView apogee_voltage_view; private TextView apogee_voltage_label; private GoNoGoLights apogee_lights; + private View main_view; private TextView main_voltage_view; private TextView main_voltage_label; private GoNoGoLights main_lights; @@ -64,12 +63,14 @@ public class TabFlight extends AltosDroidTab { latitude_view = (TextView) v.findViewById(R.id.lat_value); longitude_view = (TextView) v.findViewById(R.id.lon_value); + apogee_view = v.findViewById(R.id.apogee_view); apogee_voltage_view = (TextView) v.findViewById(R.id.apogee_voltage_value); apogee_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.apogee_redled), (ImageView) v.findViewById(R.id.apogee_greenled), getResources()); apogee_voltage_label = (TextView) v.findViewById(R.id.apogee_voltage_label); + main_view = v.findViewById(R.id.main_view); main_voltage_view = (TextView) v.findViewById(R.id.main_voltage_value); main_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.main_redled), (ImageView) v.findViewById(R.id.main_greenled), @@ -106,27 +107,19 @@ public class TabFlight extends AltosDroidTab { } if (state.apogee_voltage == AltosLib.MISSING) { - apogee_voltage_view.setVisibility(View.GONE); - apogee_voltage_label.setVisibility(View.GONE); - apogee_lights.hide(); + apogee_view.setVisibility(View.GONE); } else { apogee_voltage_view.setText(AltosDroid.number("%4.2f V", state.apogee_voltage)); - apogee_voltage_view.setVisibility(View.VISIBLE); - apogee_voltage_label.setVisibility(View.VISIBLE); apogee_lights.set(state.apogee_voltage > 3.2, state.apogee_voltage == AltosLib.MISSING); - apogee_lights.show(); + apogee_view.setVisibility(View.VISIBLE); } if (state.main_voltage == AltosLib.MISSING) { - main_voltage_view.setVisibility(View.GONE); - main_voltage_label.setVisibility(View.GONE); - main_lights.hide(); + main_view.setVisibility(View.GONE); } else { main_voltage_view.setText(AltosDroid.number("%4.2f V", state.main_voltage)); - main_voltage_view.setVisibility(View.VISIBLE); - main_voltage_label.setVisibility(View.VISIBLE); main_lights.set(state.main_voltage > 3.2, state.main_voltage == AltosLib.MISSING); - main_lights.show(); + main_view.setVisibility(View.VISIBLE); } } } diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java index f6204547..5ff9d12b 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java @@ -22,25 +22,25 @@ import org.altusmetrum.altoslib_7.*; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; +import android.view.*; +import android.widget.*; import android.location.Location; public class TabPad extends AltosDroidTab { private TextView battery_voltage_view; private GoNoGoLights battery_lights; + private TableRow receiver_row; private TextView receiver_voltage_view; private TextView receiver_voltage_label; private GoNoGoLights receiver_voltage_lights; + private TableRow apogee_row; private TextView apogee_voltage_view; private TextView apogee_voltage_label; private GoNoGoLights apogee_lights; + private TableRow main_row; private TextView main_voltage_view; private TextView main_voltage_label; private GoNoGoLights main_lights; @@ -58,6 +58,7 @@ public class TabPad extends AltosDroidTab { private TextView receiver_longitude_view; private TextView receiver_altitude_view; + private TableRow[] ignite_row = new TableRow[4]; private TextView[] ignite_voltage_view = new TextView[4]; private TextView[] ignite_voltage_label = new TextView[4]; private GoNoGoLights[] ignite_lights = new GoNoGoLights[4]; @@ -71,18 +72,21 @@ public class TabPad extends AltosDroidTab { (ImageView) v.findViewById(R.id.battery_greenled), getResources()); + receiver_row = (TableRow) v.findViewById(R.id.receiver_row); receiver_voltage_view = (TextView) v.findViewById(R.id.receiver_voltage_value); receiver_voltage_label = (TextView) v.findViewById(R.id.receiver_voltage_label); receiver_voltage_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.receiver_redled), (ImageView) v.findViewById(R.id.receiver_greenled), getResources()); + apogee_row = (TableRow) v.findViewById(R.id.apogee_row); apogee_voltage_view = (TextView) v.findViewById(R.id.apogee_voltage_value); apogee_voltage_label = (TextView) v.findViewById(R.id.apogee_voltage_label); apogee_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.apogee_redled), (ImageView) v.findViewById(R.id.apogee_greenled), getResources()); + main_row = (TableRow) v.findViewById(R.id.main_row); main_voltage_view = (TextView) v.findViewById(R.id.main_voltage_value); main_voltage_label = (TextView) v.findViewById(R.id.main_voltage_label); main_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.main_redled), @@ -105,35 +109,40 @@ public class TabPad extends AltosDroidTab { getResources()); for (int i = 0; i < 4; i++) { - int view_id, label_id, lights_id; + int row_id, view_id, label_id, lights_id; int red_id, green_id; switch (i) { case 0: default: + row_id = R.id.ignite_a_row; view_id = R.id.ignite_a_voltage_value; label_id = R.id.ignite_a_voltage_label; red_id = R.id.ignite_a_redled; green_id = R.id.ignite_a_greenled; break; case 1: + row_id = R.id.ignite_b_row; view_id = R.id.ignite_b_voltage_value; label_id = R.id.ignite_b_voltage_label; red_id = R.id.ignite_b_redled; green_id = R.id.ignite_b_greenled; break; case 2: + row_id = R.id.ignite_c_row; view_id = R.id.ignite_c_voltage_value; label_id = R.id.ignite_c_voltage_label; red_id = R.id.ignite_c_redled; green_id = R.id.ignite_c_greenled; break; case 3: + row_id = R.id.ignite_d_row; view_id = R.id.ignite_d_voltage_value; label_id = R.id.ignite_d_voltage_label; red_id = R.id.ignite_d_redled; green_id = R.id.ignite_d_greenled; break; } + ignite_row[i] = (TableRow) v.findViewById(row_id); ignite_voltage_view[i] = (TextView) v.findViewById(view_id); ignite_voltage_label[i] = (TextView) v.findViewById(label_id); ignite_lights[i] = new GoNoGoLights((ImageView) v.findViewById(red_id), @@ -154,21 +163,17 @@ public class TabPad extends AltosDroidTab { battery_voltage_view.setText(AltosDroid.number(" %4.2f V", state.battery_voltage)); battery_lights.set(state.battery_voltage >= AltosLib.ao_battery_good, state.battery_voltage == AltosLib.MISSING); if (state.apogee_voltage == AltosLib.MISSING) { - apogee_voltage_view.setVisibility(View.GONE); - apogee_voltage_label.setVisibility(View.GONE); + apogee_row.setVisibility(View.GONE); } else { apogee_voltage_view.setText(AltosDroid.number(" %4.2f V", state.apogee_voltage)); - apogee_voltage_view.setVisibility(View.VISIBLE); - apogee_voltage_label.setVisibility(View.VISIBLE); + apogee_row.setVisibility(View.VISIBLE); } apogee_lights.set(state.apogee_voltage >= AltosLib.ao_igniter_good, state.apogee_voltage == AltosLib.MISSING); if (state.main_voltage == AltosLib.MISSING) { - main_voltage_view.setVisibility(View.GONE); - main_voltage_label.setVisibility(View.GONE); + main_row.setVisibility(View.GONE); } else { main_voltage_view.setText(AltosDroid.number(" %4.2f V", state.main_voltage)); - main_voltage_view.setVisibility(View.VISIBLE); - main_voltage_label.setVisibility(View.VISIBLE); + main_row.setVisibility(View.VISIBLE); } main_lights.set(state.main_voltage >= AltosLib.ao_igniter_good, state.main_voltage == AltosLib.MISSING); @@ -177,12 +182,10 @@ public class TabPad extends AltosDroidTab { for (int i = 0; i < 4; i++) { double voltage = i >= num_igniter ? AltosLib.MISSING : state.ignitor_voltage[i]; if (voltage == AltosLib.MISSING) { - ignite_voltage_view[i].setVisibility(View.GONE); - ignite_voltage_label[i].setVisibility(View.GONE); + ignite_row[i].setVisibility(View.GONE); } else { ignite_voltage_view[i].setText(AltosDroid.number(" %4.2f V", voltage)); - ignite_voltage_view[i].setVisibility(View.VISIBLE); - ignite_voltage_label[i].setVisibility(View.VISIBLE); + ignite_row[i].setVisibility(View.VISIBLE); } ignite_lights[i].set(voltage >= AltosLib.ao_igniter_good, voltage == AltosLib.MISSING); } @@ -215,12 +218,10 @@ public class TabPad extends AltosDroidTab { if (telem_state != null) { if (telem_state.receiver_battery == AltosLib.MISSING) { - receiver_voltage_view.setVisibility(View.GONE); - receiver_voltage_label.setVisibility(View.GONE); + receiver_row.setVisibility(View.GONE); } else { receiver_voltage_view.setText(AltosDroid.number(" %4.2f V", telem_state.receiver_battery)); - receiver_voltage_view.setVisibility(View.VISIBLE); - receiver_voltage_label.setVisibility(View.VISIBLE); + receiver_row.setVisibility(View.VISIBLE); } receiver_voltage_lights.set(telem_state.receiver_battery >= AltosLib.ao_battery_good, telem_state.receiver_battery == AltosLib.MISSING); }