X
xazen
Ambitioniertes Mitglied
- 0
Ich habe eine relativ simple Frage diesmal. Wahrscheinlich ist es nur ein kleiner Fehler. Aber ich verstehe es einfach nicht. Ich habe jetzte mehrere Dialoge. Bei allen habe ich oben ein großen Freiraum. Gerade bei kleinen Geräten wie das FlipOut ist es sehr ärgerlich.
Und gerade bei dem Dialog sollten unten eigentlich noch 2 SeekBars sein und 1 Button. Es wird aber nichts davon angezeigt, es sei denn ich füge adde die Elemente noch vor dem View (mit dem Herz)
Der Code dieses Dialoges sieht so aus:
Es ist vielleicht etwas viel Code für eine Frage. Aber das Problem ist gerade, dass ich nicht weiß wie ich den Code einschränken soll, da ich nicht die geringste Ahnung habe woran es liegen könnte.
Und gerade bei dem Dialog sollten unten eigentlich noch 2 SeekBars sein und 1 Button. Es wird aber nichts davon angezeigt, es sei denn ich füge adde die Elemente noch vor dem View (mit dem Herz)
Der Code dieses Dialoges sieht so aus:
Code:
public class PositionDialog extends Dialog {
protected final String TAG = "Position Dialog";
private OnClickListener monClickListener;
private int hand = 0;
private int xValue;
private int yValue;
private SeekBar xBar;
private SeekBar yBar;
private Rect positionViewRect = new Rect(10,10,100,100);
private Rect clockRect = new Rect();
private Bitmap bm_positionView;
private Bitmap bm_clock;
private PositionView positionView = new PositionView (getContext());
PositionDialog(Context context, OnClickListener l, int defaultHand){
super(context);
this.monClickListener = l;
//Layout
LinearLayout handLayout= new LinearLayout(getContext());
handLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
handLayout.setOrientation(LinearLayout.VERTICAL);
handLayout.setPadding(10, 0, 10, 10);
//Ueberschrift
TextView title = new TextView(getContext());
title.setText(R.string.title_PositionDialog);
title.setTextAppearance(getContext(), R.style.title);
//PositionView
bm_positionView = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.background);
bm_positionView = Bitmap.createScaledBitmap(bm_positionView, 100, 100, true);
positionView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
//Text für Seekbar
TextView tx_xBar= new TextView(getContext());
TextView tx_yBar = new TextView(getContext());
tx_xBar.setText(R.string.PositionDialog_horizontal);
tx_xBar.setTextAppearance(getContext(), R.style.headline);
tx_yBar.setText(R.string.PositionDialog_vertical);
tx_yBar.setTextAppearance(getContext(), R.style.headline);
//SeekBar
xBar = new SeekBar(getContext());
yBar = new SeekBar(getContext());
xBar.setOnSeekBarChangeListener(positionView);
yBar.setOnSeekBarChangeListener(positionView);
xBar.setMax(100);
yBar.setMax(100);
//Button
Button ok = new Button(getContext());
//Views hinzufuegen
handLayout.addView(title);
handLayout.addView(positionView);
handLayout.addView(tx_xBar);
handLayout.addView(xBar);
handLayout.addView(tx_yBar);
handLayout.addView(yBar);
handLayout.addView(ok);
setContentView(handLayout);
}
//View um zu sehen wo die Uhr stehen wird
private class PositionView extends View implements OnSeekBarChangeListener{
Canvas canvas= new Canvas();
public PositionView(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas){
canvas.drawBitmap(bm_positionView, null, positionViewRect, null);
Log.d(TAG, "xBar: "+xBar.getProgress());
Log.d(TAG, "yBar: "+yBar.getProgress());
xBar.getProgress();
yBar.getProgress();
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
onDraw(canvas);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
onDraw(canvas);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
onDraw(canvas);
}
}
}
Es ist vielleicht etwas viel Code für eine Frage. Aber das Problem ist gerade, dass ich nicht weiß wie ich den Code einschränken soll, da ich nicht die geringste Ahnung habe woran es liegen könnte.