0
編集:「なぜsetOnClickListener内で動作するのですか」という質問がありますが、直後に見つかりました。 https://stackoverflow.com/a/21926714/6474462Linearlayout getHeight()は0を返しますが、setOnClickListenerの内部ではtrueを返します。
旧: はObjectAnimatorで遊んとのLinearLayoutのgetHeight()の戻り0に気づいたが、(クリック後)setOnClickListener内部で実際にこの作業を行う方法を、真の値を返すんでしたか?
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final LinearLayout linearLayout = (LinearLayout) findViewById(R.id.main_linear);
TextView textView1 = (TextView) findViewById(R.id.textview1);
final TextView textView2 = (TextView) findViewById(R.id.textview2);
int viewHeight1 = linearLayout.getHeight();
textView1.setText("viewHeight1: " + viewHeight1);
textView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int viewHeight2 = linearLayout.getHeight();
textView2.setText("viewHeight2: " + viewHeight2);
}
});
}
}