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>
Haben Sie das zufällig herausgefunden? –
@ 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