作業日誌(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"
/>