1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. DieGoldeneMitte, 02.03.2011 #1
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Hallo,

    ich möchte in einem Dialog einen selbst programmierten View rendern. Dieser setzt seine Größe in onMeasure() mittels setMeasuredDimension(w,h) auf feste Werte. Bei der Höhe wird mein Wert vom Dialog auch respektiert (sprich benutzt), aber bei der Breite nicht (diese wird aus den Buttons darunter bestimmt). Kann man den Dialog dazu bringen, die Breite des Views zu nutzen,oder muss ich irgendwie die Breite von außen erzwingen? Oder habe ich irgendetwas naheliegendes übersehen?

    ADD:
    setMinimumWidth() und setMeasuredWidth( MeasureSpec.makeMeasureSpec(MeasureSpec.EXACTLY,w),h) helfen beide nicht. Übrigens wird der Dialog zu groß, wenn ich MeasureSpec auf die Höhe anwende? Wieso datt denn? ;-)

    Der Dialog wird ganz normal wie folgt gesetzt:
    Code:
    Dialog d= new Dialog(this);  d.setContentView(R.id.mylayout)
    Das Layout:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      android:id="@+id/root"
    >
    
    <dgm.playground.WidthBug
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/bug"
    />
    
    <LinearLayout
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
    >
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Setzen"
      android:id="@+id/okay"
    />
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Abbruch"
      android:id="@+id/cancel"
    />
    </LinearLayout>
    </LinearLayout>
    Der Custom View:
    Code:
    package dgm.playground;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.view.View;
    
    public class WidthBug extends View {
    
        int h, w;
        Paint yellow;
        
        public WidthBug( Context context, AttributeSet attrs ) {
            super( context, attrs );
            h = 256;
            w = 256;
            yellow = new Paint();
            yellow.setColor(0xffffff00);
            yellow.setStrokeWidth(4);
        }
    
        @Override
        public void onMeasure( int hSpec, int wSpec ) {
            setMeasuredDimension( w, h );
        }
        
        @Override
        public void onDraw( Canvas c ) {
            c.drawLine(0,0,w/2,h/2,yellow);
            c.drawLine(0,h,w/2,h/2,yellow);
        }
    
    }
     
    Zuletzt bearbeitet: 02.03.2011
  2. DieGoldeneMitte, 02.03.2011 #2
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Hah, Problem selbst gelöst:

    Ich muss bei meinem custom View bloß die layout_width="wrap_content" setzen.

    (Extra Post, damit man sieht, dass die Frage beantwortet ist).
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Komplexe View erstellen Android App Entwicklung 13.09.2017
[OFFEN] Activity als Dialog - RecyclerView funktioniert nicht mehr Android App Entwicklung 14.08.2017
[ERLEDIGT] AlertDialog.Builder: 2x Tippen um Dialog zu schließen Android App Entwicklung 07.08.2017
[OFFEN] Rückkehr aus Dialog Fragment. Wie? Android App Entwicklung 29.04.2017
[ERLEDIGT] RecyclerView in Alert(Dialog) Android App Entwicklung 25.04.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[RÜCKMELDUNG FEHLT] Text und Bilder in View einbinden Android App Entwicklung 26.03.2017
[ERLEDIGT] Interpolator für einen Custom Dialog verwenden in einem Fragment Android App Entwicklung 20.03.2017
[ERLEDIGT] View zum selektieren der Wochentage Android App Entwicklung 19.03.2017
[ERLEDIGT] Einen schatten über einer Custom ToolBar anzeigen Android App Entwicklung 15.03.2017
Du betrachtest das Thema "Wieso "zerquetscht" Dialog meinen Custom View?" im Forum "Android App Entwicklung",