0

dialogFragmentクラスでCustomViewを拡張しようとしていますが、画面全体(90%)は幅がかかりますが、AlertDialogで同じレイアウトを展開すると、細かい、すなわち幅が適切だと思われる&良い。DialogFragmentの幅は、AlertDialogとは異なり、画面全体を占める

私も(ONSTART経由DialogFragmentの幅を設定しようとした)が、それは望ましい結果ではなかった...

これは私が(AlertDialogでのCustomView)何をしたいです 1

が、ここでの結果ですDialogFragment経由で - AlertDialogと比較してさらに幅がとられています! 2]

レイアウトファイル -

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <com.lazygeniouz.colorpicker.FillGridView 
      android:id="@+id/lz_grid" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:columnWidth="@dimen/colorchooser_circlesize" 
      android:clipToPadding="false" 
      android:gravity="center" 
      android:horizontalSpacing="8dp" 
      android:numColumns="auto_fit" 
      android:orientation="vertical" 
      android:stretchMode="columnWidth" 
      android:verticalSpacing="8dp" 
      android:padding="16dp"/> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|bottom" 
       android:text="Custom" 
       android:id="@+id/lz_gotoCustom" 
       android:background="?attr/selectableItemBackground" 
       android:layout_margin="10dp" 
       android:typeface="serif" 
       android:textStyle="bold"/> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center|bottom" 
       android:text="@string/back" 
       android:id="@+id/lz_back" 
       android:background="?attr/selectableItemBackground" 
       android:layout_margin="10dp" 
       android:typeface="serif" 
       android:textStyle="bold"/> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right|bottom" 
       android:text="@string/done" 
       android:id="@+id/lz_done" 
       android:background="?attr/selectableItemBackground" 
       android:layout_margin="10dp" 
       android:typeface="serif" 
       android:textStyle="bold"/> 

     </FrameLayout> 

    </LinearLayout> 

</ScrollView> 
+0

wrap_contentに幅を設定するダイアログを縮小.... –

+0

@ManojFrekzzは:)私はONSTART(中match_parent&wrap_contentする幅を与えているonresume – DarShan

+0

試みを完了レイアウト・ファイルを表示します –

答えて

1

は、私が働いていたものを試してみてください。

私のクラスはAlertDialogの代わりDialogFragment、

を拡張され、次のようにクラスの中、私はショーの機能をオーバーライドします。

@Override 
    public void show() { 
     super.show(); 
     getWindow().setLayout(500, 300); 

を開き、次にこのように開きます:

MyDialog myDialog = new MyDialog(getActivity()); 
       myDialog.show(); 

希望すると助かります!

0

これは、私はちょうどそれがOKであるよりも、あなたが固定サイズのデバイス上でこのアプリケーションを実行することを計画している場合、私は:)

1

を望んでいた、まさに私を与えた520 &にDialogFragmentの幅を設定し、私がやったこと ですただし、アプリケーションが異なるサイズのデバイス(画面サイズやタブレットの異なる電話機)で動作する場合は、フラグメントコンテナにmatch_parentを適用し、親コンテナのレイアウトパッディングを空き領域の割合で適用することを検討してください。

これにより、フラグメントのサイズを制御できるようになり、同時に異なる画面サイズの場合にスムーズなサイズ変更が可能になります。

たとえば、線形レイアウトルート要素とフラグメント子要素を含むXMLファイルからアクティビティレイアウトを展開すると、線形レイアウト要素に埋め込みが適用され、match_parentがfragment要素に適用されます。そのような場合には、あなたはあなたの目標を達成させる関連する詰め物の数字を選択します。

これは、あなたに役立つ実装のアイデアを提供したいと考えています。

関連する問題