0
私は解決するために苦労している状況に直面しています。Android Widgetの可視性戦略
私はレイアウト2のウィジェットを持っています。 1つのImageViewと1つのProgressBar(不定)。
ImageViewイメージが読み込まれるまでプログレスバーを表示したいとします。
問題は、ImageViewがすべての領域を満たし、プログレスバーが特定のサイズを持つことです。プログレスバーの可視性をINVISIBLEまたはGONEに設定すると、プログレスバーはもう表示されませんが、彼女のサイズはまだImageviewをすべての領域に塗りつぶしない領域を埋めることになります。
プログレスバーを非表示にしてImageViewを上に置くにはどうすればいいですか?
レイアウト
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bck_card_layout"
android:orientation="vertical"
android:padding="2dp"
android:weightSum="1">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/ic_medal"
android:drawablePadding="12dp"
android:fontFamily="sans-serif-light"
android:paddingBottom="8dp"
android:paddingEnd="12dp"
android:paddingStart="12dp"
android:paddingTop="8dp"
android:singleLine="true"
android:textColor="@color/textPrimary"
android:textSize="@dimen/text_regular" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorAccent" />
<ProgressBar
android:id="@+id/card_progressbar"
android:visibility="visible"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="30dp"
android:layout_height="30dp"
android:indeterminate="true" />
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scaleType="centerCrop" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorAccent" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="12dp"
android:paddingStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:fontFamily="sans-serif-light"
android:paddingBottom="6dp"
android:paddingTop="6dp"
android:text="@string/lunch_per_kilo"
android:textColor="@color/textPrimary"
android:textSize="@dimen/text_regular" />
<TextView
android:id="@+id/price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:ellipsize="start"
android:paddingStart="116dp"
android:singleLine="true"
android:textColor="@color/textSecondary"
android:textSize="@dimen/text_xlarge"
android:textStyle="bold" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorAccent" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="12dp"
android:paddingStart="12dp">
<TextView
android:id="@+id/valid_until"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:drawablePadding="8dp"
android:drawableStart="@drawable/ic_flash"
android:fontFamily="sans-serif-light"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:textColor="@color/textPrimary"
android:textSize="@dimen/text_small"
android:textStyle="italic" />
<TextView
android:id="@+id/like_counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:drawablePadding="8dp"
android:drawableStart="@drawable/ic_heart_24dp"
android:fontFamily="sans-serif-thin"
android:singleLine="true"
android:textColor="@color/textSecondary"
android:textSize="@dimen/text_regular" />
</FrameLayout>
</LinearLayout>
メインのViewGroupはFrameLayoutですが、その内部にはプログレスバーが入っているLinearLayoutがあります。 –
あなたのXMLを投稿できますか? – cisekluke
私は質問を編集してレイアウトを含めました –