1

Как удалить пробелы в левом, правом и над диалоговым окнами, чтобы изменить размер этого диалога ниже?Как удалить лишние пробелы в DialogueFragment?

или по-другому, как сделать этот диалог только занимающим красный прямоугольник? благодарит заранее.

enter image description here

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 класс

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); 
} 

}

+0

Вы указали пробел и маржу в макете. удалите их, тогда не будет никакого интервала. использовать только там, где это необходимо. – Tauqir

+1

Я удалил прописку с кнопок и текст. – Error

ответ

0

добавить эти строки ниже getDialog().setTitle("New input");

TextView titleTextView = (TextView) this.getDialog().findViewById(android.R.id.title); 
titleTextView.setGravity(Gravity.CENTER); 

это сделает название вашего диалога фрагмента доступны, и вы можете настроить его.

Смежные вопросы