2012-07-05 2 views
5

Ich habe dieses DialogFragment. Wenn ich es zeige, wird es Vollbild, ich meine, es überschneidet sich mit dem aktuellen Bildschirm. Wie man es klein wie einen AlertDialog macht?DialogFragment ist Vollbild. Wie man es klein macht

Ich vermutete, dass es wegen der RelativeLayout ist, also wickelte ich das LinearLayout außerhalb von RelativeLayout, aber nichts ändert sich.

public class LoginDialogFragment extends DialogFragment { 

@Override 
public void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme); 
} 

@Override 
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, 
     final Bundle savedInstanceState) { 
    final View v = inflater.inflate(R.layout.login_dialog, container, false); 
    final EditText emailEditText = (EditText)v.findViewById(R.id.emailEditText); 
    final EditText passwordEditText = (EditText)v.findViewById(R.id.passwordEditText); 
    final Button loginButton = (Button)v.findViewById(R.id.loginButton); 
    loginButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(final View v) { 
       checkLogin(emailEditText.getText().toString(), passwordEditText.getText().toString()); 
      } 
     }); 
    return v; 
} 
} 

Layout-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

    <TextView 
     android:id="@+id/loginTitleTextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:text="@string/loginDialogTitle" 
     android:textColor="@color/White" 
     android:textSize="20sp" /> 

    <EditText 
     android:id="@+id/emailEditText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/loginTitleTextView" 
     android:layout_weight="1" 
     android:ems="10" 
     android:inputType="textEmailAddress" > 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/passwordEditText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/emailEditText" 
     android:layout_weight="1" 
     android:ems="10" 
     android:inputType="textPassword" /> 

    <TextView 
     android:id="@+id/passwordTextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/passwordEditText" 
     android:layout_alignBottom="@+id/passwordEditText" 
     android:layout_alignParentLeft="true" 
     android:layout_weight="1" 
     android:text="@string/password" 
     android:textColor="@color/White" 
     android:textSize="16sp" /> 

    <TextView 
     android:id="@+id/emailTextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/emailEditText" 
     android:layout_alignBottom="@+id/emailEditText" 
     android:layout_alignParentLeft="true" 
     android:layout_weight="1" 
     android:text="@string/email" 
     android:textColor="@color/White" 
     android:textSize="16sp" /> 

    <Button 
     android:id="@+id/loginButton" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/passwordEditText" 
     android:text="@string/loginButtonText" /> 

    </RelativeLayout> 

</LinearLayout> 
+0

Haben Sie das zufällig herausgefunden? –

+0

@ Emerald214 versuche dies yourFragmentAct act = new yourfragmentActivity(); act.show(); anstatt als Fragment hinzuzufügen. Es zeigt und ändert die Größe basierend auf dem Inhalt – krishh

Antwort

2

Anruf setStyle(STYLE_NORMAL, android.R.style.Theme_Dialog); statt setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme); in onCreate(). Hat es geholfen?

+0

nein, es hilft nicht – Dmitry

+0

Was ist dein Basisthema? Versuchen Sie setStyle (DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Light_Dialog); innerhalb der onCreate() Methode –

+0

Ich habe das gleiche Problem und das ändert überhaupt nichts –

Verwandte Themen