2015-10-26 85 views
0

我的應用應該在主要活動中有一個按鈕,當按下該按鈕時應該顯示一個自定義對話框,該對話框將用作用戶的註冊表單。問題是當我刪除我的自定義對話窗口的標題欄水平摺疊。任何建議如何解決這個問題?是否使用片段作爲註冊形式是一個好主意? TIA當標題被刪除時自定義對話框崩潰

這裏是爲了說明

Collapsed dialog box

這裏是什麼樣子的標題欄

enter image description here

這裏的圖像是主要活動

代碼
protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 

     // Set our view from the "main" layout resource 
     SetContentView(Resource.Layout.Main); 

     mbtnfragment = FindViewById<Button>(Resource.Id.MyButton); 

     mbtnfragment.Click += mbtnfragment_Click; 



    } 

    void mbtnfragment_Click(object sender, EventArgs e) 
    { 
     FragmentTransaction transaction = FragmentManager.BeginTransaction(); 
     create_dialog dialog = new create_dialog(); 
     dialog.Show(transaction, "Fragment Dialog"); 
     Console.WriteLine("Fragment created"); 
    } 

代碼爲create_dialog類

class create_dialog: DialogFragment 
{ 
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstancesState) 
    { 
     base.OnCreateView(inflater, container, savedInstancesState); 
     var view = inflater.Inflate(Resource.Layout.fragment_dialog, container, false); 
     return view; 
    } 

    public override void OnActivityCreated(Bundle savedInstanceState) 
    { 
     Dialog.Window.RequestFeature(WindowFeatures.NoTitle); 
     base.OnActivityCreated(savedInstanceState); 
    } 
} 

}

+1

更改fragment_dialog佈局的寬度,不要使它(wrap_content) – ivan

+1

沒有問題:P,我可以發佈它作爲答案? – ivan

+0

我想你可以,因爲它確實回答了我的問題:) – datachat

回答

2

變化從wrap_content的fragment_dialog佈局的寬度match_parent或規定尺寸

+0

lol .................. – Elltz

1

您可以設置的樣式沒有標題自定義對話框

@Override 
public void onCreateDialog(Bundle savedInstanceState) { 
    setStyle(STYLE_NO_TITLE, 0); 
} 

或者你可以像Theme.AppCompat第二個參數設置一個主題.Dialog ...