我有这样的布局,如下图所示,有36张图片。我将src设置为那些imageButtons,并且工作正常。现在我设置imageButton.setVisibility(View.GONE);这也很好。但是当我通过点击“消失”其中一个按钮时,其他所有按钮都会移动到一个地方,这很糟糕。如何让所有其他人留下来?
我的XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/background" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="365dp" >
<ImageView
android:id="@+id/ivSlika"
android:layout_width="fill_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="365dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/ib1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_01"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_02"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_03"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_04"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_05"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_06"
android:padding="0dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/ib7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_07"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_08"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_09"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_10"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_11"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_12"
android:padding="0dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/ib13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_13"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_14"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_15"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_16"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_17"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_18"
android:padding="0dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/ib19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_19"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_20"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib21"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_21"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_22"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_23"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib24"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_24"
android:padding="0dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/ib25"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_25"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib26"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_26"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib27"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_27"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib28"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_28"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib29"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_29"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_30"
android:padding="0dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/ib31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_31"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib32"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_32"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib33"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_33"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib34"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_34"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib35"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_35"
android:padding="0dp" />
<ImageButton
android:id="@+id/ib36"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bricks_36"
android:padding="0dp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/bIzlazCigle"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="390dp"
android:background="@drawable/buttons_final"
android:padding="0dp"
android:text="Izlaz"
android:textColor="#ffffff"
android:textSize="19sp" />
<Button
android:id="@+id/bKonacnoCigle"
android:layout_width="180dp"
android:layout_height="40dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="390dp"
android:background="@drawable/buttons_final"
android:padding="0dp"
android:text="Konačno rešenje!"
android:textColor="#ffffff"
android:textSize="19sp" />
</LinearLayout>
</FrameLayout>
我将它们设置为隐形:
public void onClick(View v) {
switch(v.getId()){
case R.id.ib1:
b1.setVisibility(View.GONE);
break;
case R.id.ib2:
b2.setVisibility(View.GONE);
break;
case R.id.ib3:
b3.setVisibility(View.GONE);
break;
case R.id.ib4:
b4.setVisibility(View.GONE);
break;
case R.id.ib5:
b5.setVisibility(View.GONE);
break;
case R.id.ib6:
b6.setVisibility(View.GONE);
.
.
.
.
.
}
答案 0 :(得分:1)
您可以使用View.INVISIBLE而不是View.GONE
答案 1 :(得分:1)
为此,您可以使用 View.INVISIBLE 代替 View.GONE 。实际上当你使用View.GONE时,它不会在布局上占用任何空间。但是当你使用 View.INVISIBLE 时,它只会在屏幕上看不到,但它实际上仍然保留在布局上。您正在使用填充 0(零)。因此当一个图像消失时,由于零填充,单击其他图像将向前移动。