0
私の目的は、特定のボタンをクリックするとアニメーションで表示される目に見えないLinearLayoutを持たせることです。これを行うには、デフォルトの高さをWRAP_CONTENTに設定し、アプリケーションの開始時に高さを取得し、高さを0に設定して、ボタンをクリックするとアニメーションを開始します。ここにコードです:WRAP_CONTENTの高さを取得する
linearLayout.post(new Runnable() {
@Override
public void run(){
height = linearLayout.getMeasuredHeight();
linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 0));
}
});
findViewById(R.id.btnOperator).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Animation ani = new ShowAnim(linearLayout, height/* target layout height */);
ani.setDuration(1000/* animation time */);
linearLayout.startAnimation(ani);
}
});
この作品はかなり良いですが、私は違うやりたいです。私は、デフォルトの高さが0であることを求めており、その後、WRAP_CONTENTの高さがどうなるかを計算し、それを渡す:
Animation ani = new ShowAnim(linearLayout, height/* target layout height */);
私はこれをどのように行うことができますか?私は検索したが、何かを見つけた。
それは完璧に動作し、感謝します。 –