1

如果ListView有很多孩子,她需要滾動我看不到FragmentDialog末尾的解僱按鈕。 在這裏你可以看到辭退Buttonenter image description here在DialogFragment的長ListView底部的按鈕無法看到

而從長遠ListView你不能在底部看到辭退Buttonenter image description here

dialog.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TextView 
    android:id="@+id/dialog_header_text_view_id" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/dialog_header_text_view_text" 
    android:textSize="22sp" 
    android:textColor="@color/opening_words_dialog_header_color" 
    android:layout_marginBottom="15sp" 
    android:textStyle="bold" 
    /> 

<ListView 
    android:id="@+id/dialog_list_view_id" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/dialog_header_text_view_id" 
    /> 

<Button 
    android:id="@+id/dialog_dismiss_button_id" 
    android:layout_width="100sp" 
    android:layout_height="50sp" 
    android:text="@string/list_view_button_footer_text" 
    android:layout_below="@+id/dialog_list_view_id" 
    android:layout_centerHorizontal="true" 
    /> 

</RelativeLayout> 

CustomDialogFragment的.java:

public class CustomDialogFragmentYearsKnownLoveMails extends DialogFragment 
{ 
    TextView listViewItemTextView; 
    ArrayAdapter<String> arrayAdapter; 
    ListView dialogListView; 
    String[] items = new String[120]; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
    { 
     View rootView = inflater.inflate(R.layout.dialog, container,false); 

     setCancelable(false); 

     listViewItemTextView = (TextView) rootView.findViewById(R.id.list_view_item_text_view_id); 
     dialogListView = (ListView) rootView.findViewById(R.id.dialog_list_view_id); 
     dissmissDialogButton = (Button) rootView.findViewById(R.id.dialog_dismiss_button_id); 

     for (int i = 0;i < items.length;i++) 
     { 
      items[i] = "" + (i + 1); 
     } 

     arrayAdapter = new ArrayAdapter<String>(LoveMailsActivity.this, R.layout.list_view_row,R.id.row_text_view_id,items); 
     dialogListView.setAdapter(arrayAdapter); 

     dialogListView.setOnItemClickListener(new OnItemClickListener() 
     { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
      { 
       Toast.makeText(getActivity(), items[position], Toast.LENGTH_SHORT).show(); 
       loveEmailYearsKnownTextView.setText(items[position]); 
      } 
     }); 

     dissmissDialogButton.setOnClickListener(new View.OnClickListener() // Dismiss button click 
     { 
      @Override 
      public void onClick(View v) 
      { 
       dismiss(); 
      } 
     }); 

     return rootView; 
    } 
} 

那麼它有什麼問題? 如果您需要更多的信息,只需詢問。

+0

包裝你的RelativeLayout到滾動視圖 – Jerry

+0

@JerrySangma它解決了這個問題,但它的外觀和運作非常非常糟糕。 – God

回答

3

列表視圖,通過約束上面和下面,是「拉伸」,從底部(即基準線)文本視圖到按鈕的頂部。一般我開始寫該觸摸父視圖中的分量(即對齊父頂/底),並與在中間作爲該視圖列表中的視圖完成。

關鍵是要擴大TextView的下方,這樣的按鈕,上面的列表:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <TextView 
     android:id="@+id/dialog_header_text_view_id" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/dialog_header_text_view_text" 
     android:textSize="22sp" 
     android:textColor="@color/opening_words_dialog_header_color" 
     android:layout_marginBottom="15sp" 
     android:textStyle="bold" 
     /> 

    <Button 
     android:id="@+id/dialog_dismiss_button_id" 
     android:layout_width="100sp" 
     android:layout_height="50sp" 
     android:text="@string/list_view_button_footer_text" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     /> 

    <ListView 
     android:id="@+id/dialog_list_view_id" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/dialog_header_text_view_id" 
     android:layout_above="@id/dialog_dismiss_button_id" 
     /> 
</RelativeLayout> 
0

對於XML的改變列表視圖屬性layout_below到layout_above = 「@ ID/dialog_dismiss_button_id」

而且從按鍵上移開layout_below屬性。而這個加入按鈕
機器人:layout_alignParentBottom =「真」 希望這有助於你:)

+0

但我希望它低於'ListView'。 – God

+0

@上帝對不起,你需要那個列表視圖。見我的編輯 –

+0

沒有它洛斯糟糕,在ListView孩子缺少:) – God