Browse Source

GUI Layouting

master
gitsvn 12 years ago
parent
commit
62cc722ce4
2 changed files with 60 additions and 34 deletions
  1. 18
    13
      res/layout/rbs_main.xml
  2. 42
    21
      src/ch/spherIC/recurvebowsight/RBSMainActivity.java

+ 18
- 13
res/layout/rbs_main.xml View File

android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_below="@id/views" android:layout_below="@id/views"
android:scrollbarAlwaysDrawVerticalTrack="false" >
<ScrollView
android:scrollbarAlwaysDrawVerticalTrack="false" ><ScrollView
android:id="@+id/paramsScrollView" android:id="@+id/paramsScrollView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" > android:orientation="vertical" >
<ch.spherIC.recurvebowsight.components.XTextView
android:id="@+id/flightCurveTxtFld"
<ScrollView
android:id="@+id/flightCurveScrollVIew"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_margin="8dp" android:layout_margin="8dp"
android:background="@color/white"
android:ems="10"
android:inputType="textMultiLine"
android:padding="4dp"
android:textSize="14sp"
app:drawBorder="true"
app:drawBorderColor="@color/semi_translucent_black"
app:drawBorderWidth="2dp" />
android:scrollbars="vertical" >
<ch.spherIC.recurvebowsight.components.XTextView
android:id="@+id/flightCurveTxtFld"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:ems="10"
android:inputType="textMultiLine"
android:padding="4dp"
android:textSize="14sp"
app:drawBorder="true"
app:drawBorderColor="@color/semi_translucent_black"
app:drawBorderWidth="2dp" />
</ScrollView>
</LinearLayout> </LinearLayout>
<ScrollView <ScrollView

+ 42
- 21
src/ch/spherIC/recurvebowsight/RBSMainActivity.java View File

import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.text.SpannableString;
import android.text.style.TabStopSpan;
import android.view.Gravity; import android.view.Gravity;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
private static final int MIN_DISTANCE = 50; private static final int MIN_DISTANCE = 50;
private static final double CENTI = 0.01; private static final double CENTI = 0.01;
private static final double MILLI = 0.001; private static final double MILLI = 0.001;
private static final String TAB = "\u0009";
private ViewFlipper viewFlipper; private ViewFlipper viewFlipper;
private ScrollView paramsScrollView; private ScrollView paramsScrollView;
this.scSightSpinner.setSelectedSight(archerySetup.getSight()); this.scSightSpinner.setSelectedSight(archerySetup.getSight());
this.scSightSpinner.fireSelectionChangedEvent(); this.scSightSpinner.fireSelectionChangedEvent();
this.scVertScaleMiddleTxtFld.setText(DF.format(archerySetup.getSightVertSkalaMiddle())); this.scVertScaleMiddleTxtFld.setText(DF.format(archerySetup.getSightVertSkalaMiddle()));
this.airTemperatureTxtFld.setText("25");
this.airRelativeHumidityTxtFld.setText("50");
this.shootingDistanzTxtFld.setText("18");
} else { } else {
this.arrowDiameterTxtFld.setText(""); this.arrowDiameterTxtFld.setText("");
this.arrowDiameterTxtFld.setText(""); this.arrowDiameterTxtFld.setText("");
if (allParamFieldsValid()) { if (allParamFieldsValid()) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
if (getCurrentFocus() != null) {
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
CalculationTask calcTask = new CalculationTask(); CalculationTask calcTask = new CalculationTask();
TrajectoryCalculator calculator = new TrajectoryCalculator(Double.valueOf(this.arrowDiameterTxtFld.getText().toString().trim()) * MILLI, // TrajectoryCalculator calculator = new TrajectoryCalculator(Double.valueOf(this.arrowDiameterTxtFld.getText().toString().trim()) * MILLI, //
Double.valueOf(this.arrowWeightTxtFld.getText().toString().trim()) * MILLI, // Double.valueOf(this.arrowWeightTxtFld.getText().toString().trim()) * MILLI, //
Double.valueOf(this.arrowV0TxtFld.getText().toString().trim()), // Double.valueOf(this.arrowV0TxtFld.getText().toString().trim()), //
Double.valueOf(this.shootingDistanzTxtFld.getText().toString().trim()), // Double.valueOf(this.shootingDistanzTxtFld.getText().toString().trim()), //
Double.valueOf(this.arrowNockHeightTxtFld.getText().toString().trim())
- Double.valueOf(this.targetCenterHeightTxtFld.getText().toString().trim()), //
Double.valueOf(this.targetCenterHeightTxtFld.getText().toString().trim())
- Double.valueOf(this.arrowNockHeightTxtFld.getText().toString().trim()), //
Double.valueOf(this.airTemperatureTxtFld.getText().toString().trim()), // Double.valueOf(this.airTemperatureTxtFld.getText().toString().trim()), //
Double.valueOf(this.airRelativeHumidityTxtFld.getText().toString().trim()) Double.valueOf(this.airRelativeHumidityTxtFld.getText().toString().trim())
* CENTI, // * CENTI, //
this.startAngle = startAngle; this.startAngle = startAngle;
this.flightCurveTxtFld.setText(""); this.flightCurveTxtFld.setText("");
this.flightCurveTxtFld.append("Abschusswinkel:\t" + DF_FC.format(startAngle) + " °\n");
this.flightCurveTxtFld.append("Max. Höhe der Flugbahn:\t" + DF_FC.format(maxHCurve[0])
this.flightCurveTxtFld.append("Abschusswinkel:" + TAB + DF_FC.format(startAngle) + " °\n");
this.flightCurveTxtFld.append("Max. Höhe der Flugbahn:" + TAB + DF_FC.format(maxHCurve[0])
+ " m / " + DF_FC.format(maxHCurve[0] + Double.valueOf(this.arrowNockHeightTxtFld.getText().toString().trim())) + " m / " + DF_FC.format(maxHCurve[0] + Double.valueOf(this.arrowNockHeightTxtFld.getText().toString().trim()))
+ " m, [t = " + DF_FC.format(maxHCurve[1]) + " sec]\n");
this.flightCurveTxtFld.append("Flugzeit:\t\t"
+ " m, [t = " + DF_FC.format(maxHCurve[1]) + " s]\n");
this.flightCurveTxtFld.append("Flugzeit:" + TAB + TAB
+ DF_FC.format(flightCurve[flightCurve.length - 1][TrajectoryCalculator.IDX_T]) + DF_FC.format(flightCurve[flightCurve.length - 1][TrajectoryCalculator.IDX_T])
+ " sec\n\n"); + " sec\n\n");
this.flightCurveTxtFld.append("t [sec]\tVx [m/s]\tVy [m/s]\tx [m]\ty [m]\n\n");
for (int i = 0; i < flightCurve.length; i++) {
Double[] r1 = flightCurve[i];
StringBuffer line = new StringBuffer();
line.append(DF_FC.format(r1[TrajectoryCalculator.IDX_T]) + "\t"
+ DF_FC.format(r1[TrajectoryCalculator.IDX_VX]) + "\t"
+ DF_FC.format(r1[TrajectoryCalculator.IDX_VY]) + "\t"
+ DF_FC.format(r1[TrajectoryCalculator.IDX_X]) + "\t"
+ DF_FC.format(r1[TrajectoryCalculator.IDX_Y]) + "\n");
this.flightCurveTxtFld.append(line.toString());
}
SpannableString line = new SpannableString("t [sec]\tVx [m/s]\tVy [m/s]\tx [m]\ty [m]\n\n");
line.setSpan(new TabStopSpan.Standard(100), 7, 9, 0);
line.setSpan(new TabStopSpan.Standard(200), 17, 19, 0);
line.setSpan(new TabStopSpan.Standard(300), 27, 29, 0);
line.setSpan(new TabStopSpan.Standard(400), 34, 36, 0);
this.flightCurveTxtFld.append(line);
// this.flightCurveTxtFld.append("t [sec]" + TAB + TAB + "Vx [m/s]" + TAB + TAB + "Vy [m/s]" + TAB + TAB + "x [m]" + TAB + TAB + "y [m]\n\n");
//
// for (int i = 0; i < flightCurve.length; i++) {
// Double[] r1 = flightCurve[i];
// StringBuffer line = new StringBuffer();
// line.append(DF_FC.format(r1[TrajectoryCalculator.IDX_T]) + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_VX]) + TAB + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_VY]) + TAB + TAB + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_X]) + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_Y]) + "\n");
// this.flightCurveTxtFld.append(line.toString());
// }
calculateSettings(); calculateSettings();
Double a = Double.valueOf(this.bowPulloutTxtFld.getText().toString()) * 10; Double a = Double.valueOf(this.bowPulloutTxtFld.getText().toString()) * 10;
Double heVs = this.scHeVSSpinner.getVisibility() == View.VISIBLE ? Double.valueOf(this.scHeVSSpinner.getSelectedItem().toString()) : Double.valueOf(this.scHeVSTxtFld.getText().toString()); Double heVs = this.scHeVSSpinner.getVisibility() == View.VISIBLE ? Double.valueOf(this.scHeVSSpinner.getSelectedItem().toString()) : Double.valueOf(this.scHeVSTxtFld.getText().toString());
Double lhNA = this.selectedArcherySetup.getHNA() * 10; Double lhNA = this.selectedArcherySetup.getHNA() * 10;
Double dltH = (Double.valueOf(this.arrowNockHeightTxtFld.getText().toString())
- Double.valueOf(this.targetCenterHeightTxtFld.getText().toString())) * Math.pow(10, 3);
Double dltH = (Double.valueOf(this.targetCenterHeightTxtFld.getText().toString())
- Double.valueOf(this.arrowNockHeightTxtFld.getText().toString())) * Math.pow(10, 3);
Double ldistH = Double.valueOf(this.shootingDistanzTxtFld.getText().toString()) * Math.pow(10, 3); Double ldistH = Double.valueOf(this.shootingDistanzTxtFld.getText().toString()) * Math.pow(10, 3);
Double minSkala = this.scVertScaleRngTxtFld.getText().toString().contains("-") ? Double.valueOf(this.scVertScaleRngTxtFld.getText().toString().substring(0, Double minSkala = this.scVertScaleRngTxtFld.getText().toString().contains("-") ? Double.valueOf(this.scVertScaleRngTxtFld.getText().toString().substring(0,
this.scVertScaleRngTxtFld.getText().toString().indexOf('-'))) : 0d; this.scVertScaleRngTxtFld.getText().toString().indexOf('-'))) : 0d;

Loading…
Cancel
Save