如何删除 DialogFragment 中的多余空格?
How remove extra spaces in DialogueFragment?
如何删除对话视图左侧、右侧和上方的空格以调整下方对话的大小?
或者换个方式让这个对话只占据红色矩形?
提前致谢。
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="5">
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_gravity="center_horizontal"
android:inputType="numberDecimal"
android:padding="10dp"
style="@style/AlertDialog.AppCompat"
android:hint="enter value"
android:autoText="false"
android:theme="@style/dialog_blue_button" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
style="@style/dialog_blue_button"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="cancel"
android:id="@+id/canel"
android:padding="5dp" />
<Button
style="@style/dialog_blue_button"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@color/red"
android:text="ok"
android:id="@+id/ok"
android:padding="5dp"
android:layout_margin="5dp" />
</LinearLayout>
</LinearLayout>
DialogueFragment class
public class InsertDialogue extends DialogFragment implements View.OnClickListener {
Button ok, cancel;
EditText edit;
Insert communicator;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
communicator = (Insert) activity;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setCancelable(false);
getDialog().setTitle("New input");
View view = inflater.inflate(R.layout.insertdialogue, null);
ok = (Button) view.findViewById(R.id.ok);
ok.setOnClickListener(this);
cancel = (Button) view.findViewById(R.id.canel);
cancel.setOnClickListener(this);
edit = (EditText) view.findViewById(R.id.editText);
return view;
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.ok) {
String text = edit.getText().toString();
if (!text.matches("") &&!text.matches("^\.$") ) {
float s = Float.parseFloat(edit.getText().toString());
if (s > 0) {
communicator.input(s);
dismiss();
}
}
} else {
dismiss();
}
}
interface Insert {
public void input(float Value);
}
}
在下面添加这些行 getDialog().setTitle("New input");
TextView titleTextView = (TextView) this.getDialog().findViewById(android.R.id.title);
titleTextView.setGravity(Gravity.CENTER);
这将使您的对话框片段的标题易于访问,并且您可以对其进行自定义。
如何删除对话视图左侧、右侧和上方的空格以调整下方对话的大小?
或者换个方式让这个对话只占据红色矩形? 提前致谢。
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="5">
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_gravity="center_horizontal"
android:inputType="numberDecimal"
android:padding="10dp"
style="@style/AlertDialog.AppCompat"
android:hint="enter value"
android:autoText="false"
android:theme="@style/dialog_blue_button" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
style="@style/dialog_blue_button"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="cancel"
android:id="@+id/canel"
android:padding="5dp" />
<Button
style="@style/dialog_blue_button"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@color/red"
android:text="ok"
android:id="@+id/ok"
android:padding="5dp"
android:layout_margin="5dp" />
</LinearLayout>
</LinearLayout>
DialogueFragment class
public class InsertDialogue extends DialogFragment implements View.OnClickListener {
Button ok, cancel;
EditText edit;
Insert communicator;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
communicator = (Insert) activity;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setCancelable(false);
getDialog().setTitle("New input");
View view = inflater.inflate(R.layout.insertdialogue, null);
ok = (Button) view.findViewById(R.id.ok);
ok.setOnClickListener(this);
cancel = (Button) view.findViewById(R.id.canel);
cancel.setOnClickListener(this);
edit = (EditText) view.findViewById(R.id.editText);
return view;
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.ok) {
String text = edit.getText().toString();
if (!text.matches("") &&!text.matches("^\.$") ) {
float s = Float.parseFloat(edit.getText().toString());
if (s > 0) {
communicator.input(s);
dismiss();
}
}
} else {
dismiss();
}
}
interface Insert {
public void input(float Value);
}
}
在下面添加这些行 getDialog().setTitle("New input");
TextView titleTextView = (TextView) this.getDialog().findViewById(android.R.id.title);
titleTextView.setGravity(Gravity.CENTER);
这将使您的对话框片段的标题易于访问,并且您可以对其进行自定义。