2012-07-05 13 views
5

Ho questo DialogFragment. Quando lo mostro, diventa a schermo intero, voglio dire si sovrappone alla schermata corrente. Come renderlo piccolo come un AlertDialog?DialogFragment è a schermo intero. Come renderlo piccolo

Ho indovinato che è a causa del RelativeLayout, quindi ho spostato LinearLayout al di fuori di RelativeLayout ma non cambia nulla.

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

Hai capito per caso? –

+0

@ Emerald214 prova thisfragmentAct act = new yourfragmentActivity(); act.show(); invece di aggiungere come frammento. Sarà mostrato e ridimensionato in base al contenuto – krishh

risposta

2

chiamata setStyle(STYLE_NORMAL, android.R.style.Theme_Dialog); invece di setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme); in onCreate(). È stato d'aiuto?

+0

no, non aiuta – Dmitry

+0

Qual è il tuo tema di base? Prova setStyle (DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Light_Dialog); all'interno del metodo onCreate() –

+0

ho lo stesso problema e questo non cambia nulla –

Problemi correlati