Pārlūkot izejas kodu

GUI Layouting

master
gitsvn pirms 12 gadiem
vecāks
revīzija
7c1021c6e8

+ 12
- 12
res/layout/rbs_main.xml Parādīt failu

@@ -569,19 +569,19 @@
android:layout_height="match_parent"
android:orientation="vertical" >
<ch.spherIC.recurvebowsight.components.FontEditText
android:id="@+id/editText10"
<ch.spherIC.recurvebowsight.components.XTextView
android:id="@+id/flightCurveTxtFld"
android:layout_width="match_parent"
android:layout_height="40dp"
android:inputType="numberDecimal"
android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
android:layout_height="match_parent"
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" />
</LinearLayout>
<ScrollView

+ 51
- 32
src/ch/spherIC/recurvebowsight/RBSMainActivity.java Parādīt failu

@@ -62,6 +62,7 @@ import java.util.StringTokenizer;
public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDismissListener, TrajectoryCalculation {
public static final DecimalFormat DF = new DecimalFormat("0.##");
public static final DecimalFormat DF_FC = new DecimalFormat("0.000");
public static final DecimalFormat DF_1 = new DecimalFormat("0.00");
public static final DecimalFormat DF_EVS = new DecimalFormat("0.#");
@@ -109,6 +110,7 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
private TextView scVertScaleMiddleTxtFld;
private FontTextView scEvSValue;
private Button calcSettingBtn;
private XTextView flightCurveTxtFld;
private boolean showInfoMenu;
private IArcherySetup selectedArcherySetup;
@@ -146,11 +148,14 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
List<IRiser> risers = RiserDao.getInstance().loadAll();
risers.add(0, new Riser(-999, getResources().getString(R.string.caption_NoSelection), "", null, null, null));
this.scRiserSpinner.setAdapter(new FontArrayAdapter<IRiser>(this, R.layout.rbs_spinner, risers, this.scRiserSpinner));
this.scRiserSpinner.setAdapter(new FontArrayAdapter<IRiser>(this, R.layout.rbs_spinner, risers,
this.scRiserSpinner));
List<ISight> sights = SightDao.getInstance().loadAll();
sights.add(0, new Sight(-999, getResources().getString(R.string.caption_NoSelection), "", null, null, "", null, null));
this.scSightSpinner.setAdapter(new FontArrayAdapter<ISight>(this, R.layout.rbs_spinner, sights, this.scSightSpinner));
sights.add(0,
new Sight(-999, getResources().getString(R.string.caption_NoSelection), "", null, null, "", null, null));
this.scSightSpinner.setAdapter(new FontArrayAdapter<ISight>(this, R.layout.rbs_spinner, sights,
this.scSightSpinner));
addRiserAndSightSpinnerListeners();
}
@@ -233,6 +238,8 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
this.scVertScaleMiddleTxtFld = (TextView) findViewById(R.id.scVertSkalaMiddleTxtFld);
this.scEvSValue = (FontTextView) findViewById(R.id.scEvSValue);
this.flightCurveTxtFld = (XTextView) findViewById(R.id.flightCurveTxtFld);
this.calcSettingBtn = (Button) findViewById(R.id.scBtnCalc);
}
@@ -275,10 +282,9 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
}
RBSMainActivity.this.scHeVSTxtFld.setVisibility(View.INVISIBLE);
RBSMainActivity.this.scHeVSTxtFld.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSTxtFld
.getLayoutParams().width,
RBSMainActivity.this.scHeVSTxtFld
.getLayoutParams().height, 0f));
RBSMainActivity.this.scHeVSTxtFld.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().width,
RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().height,
0f));
RBSMainActivity.this.scHeVSSpinner.setVisibility(View.VISIBLE);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSSpinner.getLayoutParams().width,
@@ -286,13 +292,14 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
1f);
params.gravity = Gravity.FILL_VERTICAL;
RBSMainActivity.this.scHeVSSpinner.setLayoutParams(params);
RBSMainActivity.this.scHeVSSpinner.setAdapter(new FontArrayAdapter<String>(RBSMainActivity.this, R.layout.rbs_spinner,
listHeVis, RBSMainActivity.this.scHeVSSpinner));
RBSMainActivity.this.scHeVSSpinner.setAdapter(new FontArrayAdapter<String>(RBSMainActivity.this,
R.layout.rbs_spinner,
listHeVis,
RBSMainActivity.this.scHeVSSpinner));
if (RBSMainActivity.this.selectedHeVS == null) {
if (RBSMainActivity.this.selectedArcherySetup != null
&& RBSMainActivity.this.selectedArcherySetup.getSight().getId() == sight.getId()) {
RBSMainActivity.this.scHeVSSpinner.setSelectionByVal(DF.format(RBSMainActivity.this.selectedArcherySetup
.getSightHorSetting()));
RBSMainActivity.this.scHeVSSpinner.setSelectionByVal(DF.format(RBSMainActivity.this.selectedArcherySetup.getSightHorSetting()));
}
} else {
RBSMainActivity.this.scHeVSSpinner.setSelectionByVal(RBSMainActivity.this.selectedHeVS);
@@ -303,16 +310,15 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
+ DF.format(sight.getVertSkalaRangeMax()));
} else {
RBSMainActivity.this.scHeVSSpinner.setVisibility(View.INVISIBLE);
RBSMainActivity.this.scHeVSSpinner.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSSpinner
.getLayoutParams().width,
RBSMainActivity.this.scHeVSSpinner
.getLayoutParams().height, 0f));
RBSMainActivity.this.scHeVSSpinner.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSSpinner.getLayoutParams().width,
RBSMainActivity.this.scHeVSSpinner.getLayoutParams().height,
0f));
RBSMainActivity.this.scHeVSTxtFld.setVisibility(View.VISIBLE);
RBSMainActivity.this.scHeVSTxtFld.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSTxtFld
.getLayoutParams().width,
RBSMainActivity.this.scHeVSTxtFld
.getLayoutParams().height, 1f));
RBSMainActivity.this.scHeVSSpinner.setAdapter(new FontArrayAdapter<String>(RBSMainActivity.this, R.layout.rbs_spinner,
RBSMainActivity.this.scHeVSTxtFld.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().width,
RBSMainActivity.this.scHeVSTxtFld.getLayoutParams().height,
1f));
RBSMainActivity.this.scHeVSSpinner.setAdapter(new FontArrayAdapter<String>(RBSMainActivity.this,
R.layout.rbs_spinner,
new ArrayList<String>(),
RBSMainActivity.this.scHeVSSpinner));
RBSMainActivity.this.scaVTxtFld.setText("");
@@ -760,7 +766,26 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
public void onCalculationDone(final Double[][] flightCurve, final Double startAngle, final Double[] maxHCurve) {
this.startAngle = startAngle;
/** TODO: Flugbahnkurven-View (Werte-Tabelle und Chart) updaten */
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])
+ " 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"
+ DF_FC.format(flightCurve[flightCurve.length - 1][TrajectoryCalculator.IDX_T])
+ " 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());
}
calculateSettings();
@@ -790,21 +815,15 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
Double vVh = Double.valueOf(this.scVvisHTxtFld.getText().toString()) + Double.valueOf(this.scaHTxtFld.getText().toString());
Double vVv = Double.valueOf(this.scVvisVTxtFld.getText().toString()) + Double.valueOf(this.scaVTxtFld.getText().toString());
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 dltH = (Double.valueOf(this.arrowNockHeightTxtFld.getText().toString())
- Double.valueOf(this.targetCenterHeightTxtFld.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,
this.scVertScaleRngTxtFld.getText().toString()
.indexOf('-'))) : 0d;
Double maxSkala = this.scVertScaleRngTxtFld.getText().toString().contains("-")
? Double.valueOf(this.scVertScaleRngTxtFld.getText().toString().substring(this.scVertScaleRngTxtFld.getText().toString()
.indexOf('-') + 1,
this.scVertScaleRngTxtFld.getText().toString()
.length())) : 0d;
Double minSkala = this.scVertScaleRngTxtFld.getText().toString().contains("-") ? Double.valueOf(this.scVertScaleRngTxtFld.getText().toString().substring(0,
this.scVertScaleRngTxtFld.getText().toString().indexOf('-'))) : 0d;
Double maxSkala = this.scVertScaleRngTxtFld.getText().toString().contains("-") ? Double.valueOf(this.scVertScaleRngTxtFld.getText().toString().substring(this.scVertScaleRngTxtFld.getText().toString().indexOf('-') + 1,
this.scVertScaleRngTxtFld.getText().toString().length())) : 0d;
// PIN auf Höhe Pfeil
x0 = (a + vVh + heVs) * Math.cos(Math.toRadians(this.startAngle));

Notiek ielāde…
Atcelt
Saglabāt