SlidingDrawerはrequestLayout()とforceLayout()の呼び出しを無視しているようです。
レイアウトの下部にSlidingDrawerがあります。このSlidingDrawerには、android:handleとして設定されたシンプルなレイアウトがあります。このハンドルレイアウトにはImageViewがあり、この画像は時々変更する必要があります。
問題は、ImageViewの画像がすべて同じサイズではないことです。また、getWidth()呼び出しで正しい幅を報告するためにImageViewが必要です。setImageResource()を使用して表示された画像を変更すると、表示された画像は変更されますが、返される幅は元の画像であり、新しい画像ではありません。
調べてみると、画像を変更するとImageViewでrequestLayout()が暗黙的に呼び出されますが、その後onLayout()は呼び出されないことに気付きました。これは、階層全体に当てはまります。
SlidingDrawerを再レイアウトする必要がありますが、requestLayout()およびforceLayout()リクエストはすべて無視されます。どうやってやるの?