ボタンが水平に配置された LinearLayout、TextViews が水平方向に配置された LinearLayout、gridview および TextView を使用したアクティビティがあります。最初の LinearLayout には 3 つのボタンがあり、そのうちの 1 つは最初は可視性が「GONE」に設定されています。LinearLayout は、最初は 2/28 の重みを持つ必要がありますが、3 番目のボタンが表示されると、完全に再形成されます。また、これをより大きな画面でテストすると、プロポーションは同じままで、すべてが完全に機能することにも言及します. 使用されるドローアブルは、角とストロークが丸みを帯びた単純な形状です。
<!-- this button is initially set as GONE and then it changes his height -->
<Button
android:id="@+id/previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="end"
android:gravity="center"
android:background="@drawable/button"
android:layout_marginRight="10dp"
android:text="@string/previous"
android:textColor="#606060"
android:textStyle="bold"
android:textSize="20sp"
android:hint="Previous"/>
<!-- This button is visible from the very beginning, with the correct height -->
<Button
android:id="@+id/next"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="end"
android:gravity="center"
android:background="@drawable/button"
android:text="@string/next"
android:textColor="#606060"
android:textStyle="bold"
android:textSize="20sp"
android:hint="Next"/>
</LinearLayout>
プログラムで可視性を設定したことを述べましたが、それは関連性があります。
_previous.setVisibility(GONE);
そしてそれぞれ
_previous.setVisibility(VISIBLE);
なぜこれが起こっているのか、どうすれば修正できますか?