作業日誌(5)

1)

正常:top画面とmenu画面でProgress Dialogが他のWebビューに行って帰ってくると表示されて消えます。

エラー及悩み:二回目からWebビューに行って帰ってくるとずっとProgress Dialogが表示されるエラーがあって関連コードを確認しましたが、別に問題がなくて悩みました。

対応:mProgress Dialogが上書きされるコードがあり、ロジックがもつれていました。
上書きされることを削除してlogic 修正しました。

   public void dismissProgressDialog() {
       Fragment fragment = getSupportFragmentManager().findFragmentByTag(Constant.TAG_PROGRESS_DIALOG);
       if (fragment instanceof DialogFragment) {
           ((DialogFragment) fragment).dismissAllowingStateLoss();
       }
   }

findFragmentByTag: https://developer.android.com/reference/android/app/FragmentManager#findFragmentByTag(java.lang.String)

dismissAllowingStateLoss() : https://stackoverflow.com/questions/16842088/how-to-safely-dismiss-dialogfragment-in-onstop


2)
問題・対応:既存のレイアウトのコードがLinearLayoutになっているため、constraintLayoutに更新されました。

対応しながらわかった点:
1) constraint Layoutでmatch Parentはデザイン的に推奨されていないようだ
なるべく始めと終わりは parent にして 

app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"


幅0dpにしたほうがいい
https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayout

Important: MATCH_PARENT is not recommended for widgets contained in a ConstraintLayout. Similar behavior can be defined by using MATCH_CONSTRAINT with the corresponding left/right or top/bottom constraints being set to "parent".

2) 縦横比を維持したい時 

android:adjustViewBounds="true"

https://qiita.com/kikuchy/items/ead63692159875a25db4

3) Space
スペースを表示するときは、Viewよりもspaceを活用しよう。

<Space
   android:layout_width="1dp"
   android:layout_height="10dp"
   />

この記事が気に入ったらサポートをしてみませんか?