将不同的元素对齐到中心 - Android
Align different elements to the center - Android
我在中心并排放置了 5 张图片,我正在寻找一种方法,可以将其中一些图片设置为 visibility="gone"
,并将其他图片重新对齐到中心。像这样:
这是我的布局:
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/gameEndFirstPlayerName"
android:layout_centerHorizontal="true" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toRightOf="@+id/imageView2"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toRightOf="@+id/imageView3"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toLeftOf="@+id/imageView3"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toLeftOf="@+id/imageView4"
android:src="@drawable/star" />
</RelativeLayout>
</RelativeLayout>
感谢您的帮助!
问候何塞
如评论中所述,您可以尝试将方向设置为 "horizontal" 的 LinearLayout。这应该允许 ImageViews 并排排列。
您可以通过 ID findViewById(R.id.imageView1);
定位每个 ImageView 并执行诸如 .setVisibility(View.GONE);
之类的操作
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
</LinearLayout>
我在中心并排放置了 5 张图片,我正在寻找一种方法,可以将其中一些图片设置为 visibility="gone"
,并将其他图片重新对齐到中心。像这样:
这是我的布局:
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/gameEndFirstPlayerName"
android:layout_centerHorizontal="true" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toRightOf="@+id/imageView2"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toRightOf="@+id/imageView3"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toLeftOf="@+id/imageView3"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="25dp"
android:layout_height="20dp"
android:layout_toLeftOf="@+id/imageView4"
android:src="@drawable/star" />
</RelativeLayout>
</RelativeLayout>
感谢您的帮助! 问候何塞
如评论中所述,您可以尝试将方向设置为 "horizontal" 的 LinearLayout。这应该允许 ImageViews 并排排列。
您可以通过 ID findViewById(R.id.imageView1);
定位每个 ImageView 并执行诸如 .setVisibility(View.GONE);
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="25dp"
android:layout_height="20dp"
android:src="@drawable/star" />
</LinearLayout>