1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Grafikfehler bei Dialogen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von SirMArtin, 23.09.2009.

  1. SirMArtin, 23.09.2009 #1
    SirMArtin

    SirMArtin Threadstarter freier Samsungsupporter

    Beiträge:
    113
    Erhaltene Danke:
    7
    Registriert seit:
    05.08.2009
    Ich hab in meiner App ein paar kleine Grafikfehler. Ich verstehe nur nicht genau warum. Vielleicht hat einer von Euch eine Idee.
    bitte_warten.png
    Code:
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case PROGRESS_DIALOG:
          progressDialog = new ProgressDialog(this);
          progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
          progressDialog.setMessage("Bitte warten...");
          progressDialog.setIcon(R.drawable.details);
    
          new ProgressThread(handler).start();
    
          return progressDialog;
        default:
          return null;
        }
      }
    Beim zweiten Dialog habe ich einen AlertDialog customized wie im DevGuide beschrieben um ihn meinen Bedürfnissen anzupassen.

    details.png
    Code:
    LayoutInflater inflater = activity.getLayoutInflater();
          View layout = inflater.inflate(R.layout.event_details, (ViewGroup) activity.findViewById(R.id.ed_layout));
          Builder builder = new AlertDialog.Builder(activity);
          builder.setView(layout);
    
          setText(R.id.recipient, R.id.tr_recipient, event.getRecipient(), layout);
          (... setze alle daten ...)
    
          AlertDialog dialog = builder.create();
    
          dialog.setTitle("Details");
          dialog.setCanceledOnTouchOutside(true);
          if (event.getStatus() != null)
            dialog.setIcon(event.getStatus().getIcon());
          dialog.show();
    
    HTML:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:id="@+id/ed_layout" xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:scrollbars="vertical" android:layout_marginTop="0px">
    
    
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:stretchColumns="1">
    
            <TableRow>
                <TextView android:id="@+id/lbl_recieve_time" style="@style/Label"
                    android:layout_column="1" android:text="@string/lbl_recieve_time" />
                <TextView android:id="@+id/recieve_time" android:gravity="right"
                    style="@style/messageText" />
            </TableRow>
            <TableRow android:id="@+id/tr_event_time">
                <TextView android:id="@+id/lbl_event_time" style="@style/Label"
                    android:layout_column="1" android:text="@string/lbl_event_time" />
                <TextView android:id="@+id/event_time" android:gravity="right"
                    style="@style/messageText" />
            </TableRow>
    
            <TableRow android:id="@+id/tr_status_code">
                <TextView android:id="@+id/lbl_status_code" style="@style/Label"
                    android:layout_column="1" android:text="@string/lbl_status_code" />
                <TextView android:id="@+id/status_code" android:gravity="right"
                    style="@style/messageText" />
            </TableRow>
    
            <TableRow android:id="@+id/tr_recipient">
                <TextView android:id="@+id/lbl_recipient" style="@style/Label"
                    android:layout_column="1" android:text="@string/lbl_recipient" />
                <TextView android:id="@+id/recipient" android:gravity="right"
                    style="@style/messageText" />
            </TableRow>
        </TableLayout>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical" android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:scrollbars="vertical"
            android:isScrollContainer="true">
            <TextView android:id="@+id/lbl_status_text" style="@style/Label"
                android:text="@string/lbl_status_text" android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
    
            <TextView android:id="@+id/status_text" style="@style/messageText"
                android:layout_width="fill_parent" android:layout_height="wrap_content" />
    
            <TextView android:id="@+id/lbl_addinfo" style="@style/Label"
                android:text="@string/lbl_addinfo" android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
    
            <TextView android:id="@+id/addinfo" style="@style/messageText"
                android:layout_height="wrap_content" android:inputType="textMultiLine"
                android:layout_width="fill_parent" />
        </LinearLayout>
    </LinearLayout>
    
    Irgendwelche Ideen?

    SirMArtin
     
  2. HectorSavage, 24.09.2009 #2
    HectorSavage

    HectorSavage Junior Mitglied

    Beiträge:
    37
    Erhaltene Danke:
    0
    Registriert seit:
    11.09.2009
    ich habe ähnliche grafikfehler...ich wollte ein video in einem dialogfenster zeigen. sieht aber nschön aus. könnte aber bild dahinter liegen, denn wenn ich den screen um 90 grad drehe, also horizontal habe, siehst normal aus, ohne fehler.
     

    Anhänge:

  3. SirMArtin, 01.10.2009 #3
    SirMArtin

    SirMArtin Threadstarter freier Samsungsupporter

    Beiträge:
    113
    Erhaltene Danke:
    7
    Registriert seit:
    05.08.2009
    Bist Du schon weiter? Ich find hier einfach nicht den Fehler. :(
     
  4. HectorSavage, 01.10.2009 #4
    HectorSavage

    HectorSavage Junior Mitglied

    Beiträge:
    37
    Erhaltene Danke:
    0
    Registriert seit:
    11.09.2009
    nein, leider nicht. ich vermute aber, dass es an dem ImageView im "hintergrund" liegt. wenn ich das bild um 90grad drehe wird das dialogfenster perfekt angezeigt. es liegt aber dann auch nicht mehr über dem imageview.
     
  5. SirMArtin, 05.10.2009 #5
    SirMArtin

    SirMArtin Threadstarter freier Samsungsupporter

    Beiträge:
    113
    Erhaltene Danke:
    7
    Registriert seit:
    05.08.2009
    Ich bin einen Schritt weiter. Es hat mit dem Title im Dialog zu tun. Mein ProgressDialog hat jetzt auch einen Title bekommen. Hier ist dann auch der 2 oder 3 Pixel breite Abstand zwischen Title und Content.

    Code:
    progressDialog = new ProgressDialog(this);
          progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
          progressDialog.setMessage("Bitte warten...  ");
    
          LayoutInflater inflater = this.getLayoutInflater();
          View layout = inflater.inflate(R.layout.wait_dialog_title, (ViewGroup) this.findViewById(R.id.wd_layout));
          progressDialog.setCustomTitle(layout);
    Jetzt muss ich nur noch herausfinden, warum da der Abstand ist.
     
  6. HectorSavage, 05.10.2009 #6
    HectorSavage

    HectorSavage Junior Mitglied

    Beiträge:
    37
    Erhaltene Danke:
    0
    Registriert seit:
    11.09.2009
    ok, das macht sinn. vielleicht ist das auch der grund für meine grafikfehler. die treten ja auch im bereich des titels auf.

    Was hast du denn für ein Layoutart für den Titel hergenommen?
     
  7. SirMArtin, 05.10.2009 #7
    SirMArtin

    SirMArtin Threadstarter freier Samsungsupporter

    Beiträge:
    113
    Erhaltene Danke:
    7
    Registriert seit:
    05.08.2009
    Ein Table-Layout. Ich werd's nachher mal mit nem LinearLayout testen.
     
  8. SirMArtin, 08.10.2009 #8
    SirMArtin

    SirMArtin Threadstarter freier Samsungsupporter

    Beiträge:
    113
    Erhaltene Danke:
    7
    Registriert seit:
    05.08.2009
    LinearLayout tut auch nicht. :(
     
  9. SirMArtin, 19.10.2009 #9
    SirMArtin

    SirMArtin Threadstarter freier Samsungsupporter

    Beiträge:
    113
    Erhaltene Danke:
    7
    Registriert seit:
    05.08.2009
    OK, hab's gefunden. Es war ein margin, das sich in der style.xml versteckte.
     

Diese Seite empfehlen