GONE
の可視性を持つRelativeLayout
のレイアウトがあります。このrlは、可視性をvisible
に設定すると、フラグメントの一番下に表示されるボタンのレイアウトです。 RLはまだ表示されていませんが、2つのボタンがあり、私はそれを可視に設定すると、RLがボタンをカバーしています。ビューのY位置をプログラムで設定
私がしたいことは、表示されるそのバーの上にボタンを移動するだけです。私はそれを実行しようとしました:
rl.setVisibility(View.VISIBLE);
rl.post(new Runnable()
{
int dpToPx(final int dp)
{
return (int) (dp * getResources().getSystem().getDisplayMetrics().density + 0.5f);
}
@Override
public void run() {
int h = rl.getHeight(); //height is ready
h = dpToPx(h);
ImageButton button = (ImageButton)inflate.findViewById(R.id.button1);
float y = button.getY();
button.setY((float)h+y - 1100);
ImageButton button2 = (ImageButton)inflate.findViewById(R.id.button2);
y = button2.getY();
button2.setY((float)h+y);
}
});
-1100とボタンが欲しいところ(その数は、私はそれがボタンの位置に影響を与え、明らかにそこに滞在しませんかどうかチェックだけで何かあった)見せていますそうである。もう一方のボタンは非常に高いか低いので、もう見えません。
ボタンのY位置が新しく表示される相対レイアウトの高さと古い位置になるように位置を設定するにはどうすればよいですか?
RLのgetYは変更されず、ボタンの高さも同じであるため論理的ではないため、結果はすべて同じになります。それは、ボタンのgetYとRLの高さで何かでなければなりません。 –
申し訳ありませんが誤解している可能性があります。レイアウトの実装を投稿して、より理解を深めることができますか?あなたはxmlを使って作業していますか、それとも動的に作成していますか? – Khaled