4

320*50ビューをフルスクリーンに拡大したときに問題が発生しました。

直接展開すると機能しますが、動作が急激で、ユーザーエクスペリエンスが良くないと思います。したがって、最初にビューを非表示にしてから展開し、2秒後にビューを再度表示します。

TextView.setVisibility(VIEW.INVISIBLE);
ViewGroup.LayoutParams lp = TextView.getLayoutParams();
lp.width = ViewGroup.LayoutParams.FILL_PARENT;
lp.height = ViewGroup.LayoutParams.FILL_PARENT;

//after two seconds
handler.postDelay(new Show(),2000);

class Show implements Runnable{
   @Override
public void run(){
       TextView.setVisibility(VIEW.VISIBLE);
   }
}

そのため、アプリケーションがビューを展開するまで2秒残しました。その後、2秒後にビューが再び表示されます。表示されると、ビューが全画面表示に拡大されることが期待されます。しかし実際にはそうではありません。ビューは、非表示になっている2秒間ではなく、表示後に展開アクションを実行します。

4

2 に答える 2

3
  1. に追加android:animateLayoutChanges="true"しますViewGroup
  2. ターゲットsetVisibility()の可視性を制御するために使用します。 View
  3. ターゲットViewの下に他のものがある場合は、外側のコードと次のコードの前に追加します。 Viewandroid:animateLayoutChanges="true" ViewGroupsetVisibility()

    LayoutTransition layoutTransition = rootLinearLayout.getLayoutTransition();
    layoutTransition.enableTransitionType(LayoutTransition.CHANGING);
    
于 2020-01-09T19:54:30.167 に答える