我正在创建一个游戏,我在屏幕顶部分配了三个(球)图像视图,并为它们编写动画。球从顶部向下延伸到底部,但我希望屏幕顶部的球不会在动画开始时显示......有什么建议吗?
以下是相关的活动代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
tools:context="com.example.hp.colorspoof.MainActivity">
<!-- ball imageviews -->
<ImageView
android:id="@+id/ball1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:layout_marginLeft="40dp"
app:srcCompat="@drawable/ball_0" />
<ImageView
android:id="@+id/ball2"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/row2_2" />
<ImageView
android:id="@+id/ball3"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="right"
android:layout_marginRight="40dp"
app:srcCompat="@drawable/row3_1" />
</FrameLayout>
这是我的XML:
{{1}}
答案 0 :(得分:0)
以下是您要执行的操作的简单未经测试的实现。遗憾的是,我不再拥有编程Android设置的环境,因此我无法为您测试代码,但这应该可行。
请注意,我使用了负边距,因为这是实现它的最简单方法,但它不一定是实现它的最佳方式。有关详细信息,请参阅此处:Is it a bad practice to use negative margins in Android?
使用您提供的内容提供以下XML中的更改摘要:
android:layout_gravity
语句。你不需要那些有RelativeLayout的人。android:layout_alignParentTop
和android:layout_marginTop
将球放在布局顶部的正上方。android:layout_marginLeft
,android:layout_centerHorizontal
和android:layout_marginRight
将球水平放置在屏幕上。 下面的XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
tools:context="com.example.hp.colorspoof.MainActivity">
<RelativeLayout
android:id="@+id/play_area"
android:layout_width="match_parent"
android:layout_height"match_parent">
<!-- ball imageviews -->
<ImageView
android:id="@+id/ball1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentTop="true"
android:layout_marginTop="-30dp"
android:layout_marginLeft="40dp"
app:srcCompat="@drawable/ball_0" />
<ImageView
android:id="@+id/ball2"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="-30dp"
app:srcCompat="@drawable/row2_2" />
<ImageView
android:id="@+id/ball3"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginTop="-30dp"
android:layout_marginRight="40dp"
app:srcCompat="@drawable/row3_1" />
</RelativeLayout>
</FrameLayout>