Tôi có DialogFragment này. Khi tôi hiển thị nó, nó trở thành toàn màn hình, nghĩa là nó chồng lên màn hình hiện tại. Làm thế nào để làm cho nó nhỏ như một AlertDialog?DialogFragment là toàn màn hình. Làm thế nào để làm cho nó nhỏ
Tôi đoán đó là vì RelativeLayout nên tôi đã bọc LinearLayout ra ngoài RelativeLayout nhưng không có gì thay đổi.
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>
Bạn có nhận ra điều này bằng bất kỳ cơ hội nào không? –
@ Emerald214 thử thisFragmentAct act = new yourfragmentActivity(); act.show(); thay vì thêm dưới dạng phân đoạn. Nó sẽ hiển thị và thay đổi kích thước dựa trên nội dung – krishh