我是一個新手,我一直在嘗試爲我想出的抽象遊戲製作一個界面。對齊佈局外的對象
我有一個5x5單元板,我有這些單元格中的瓷磚。 我想製作動畫,其中的圖塊從屏幕頂部落入它們在單元格中的位置,所以我一直在嘗試從最頂層的佈局中對齊單元格內的圖塊。
我知道我可以將tile代碼放在最底部的佈局中,單元格本身,但是如果我這樣做,它們不會正確地動畫,因爲元素僅在其父級的約束內顯示。
這裏是我的XML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#eeeeee"
tools:context="com.example.althis.testsequence.FullscreenActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@drawable/rectangle"
>
<Button
android:id="@+id/tile1"
android:layout_width="60dp"
android:layout_height="60dp"
android:backgroundTint="@color/tile_color"
android:text="1"
android:textColor="@color/white"
android:textSize="35dp"/>
<com.example.me.testsequence.Square_Linear_Layout
android:layout_width="match_parent"
android:layout_height="380dp"
android:layout_marginTop="70dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/rounded_rectangle">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:background="@drawable/space"
android:orientation="vertical">
<LinearLayout
android:layout_margin="1dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:orientation="horizontal"
android:layout_margin="0dp">
<LinearLayout
android:id="@+id/a1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:orientation="horizontal"
android:background="@drawable/space">
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:backgroundTint="@color/tile_color"
android:text="1"
android:textColor="@color/white"
android:textSize="35dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout>
</LinearLayout>
<LinearLayout>
</LinearLayout>
<LinearLayout>
</LinearLayout>
<LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</com.example.althis.testsequence.Square_Linear_Layout>
</RelativeLayout>
我刪除了大部分的重複代碼的可讀性,但最底層的佈局重複5次,每次一行。 a1單元格中的按鈕只是爲了舉例說明我以前如何嘗試過。按鈕對齊正確,但正如我所提到的,它不能正確動畫。
那麼,是否有一種更智能的方法來將按鈕與較低佈局上的對象對齊?
嘗試查看GridLayout – NinjaCoder
不起作用。我試過你的建議,問題是我需要將GridLayout放在包含我的電路板的佈局中(這會產生與在電路板佈局頂部切割動畫相同的問題),或者我需要將我的電路板製作成位圖,並將其切成許多小塊,以使其適合單元格或更大的佈局,這只是一團糟。 – Althis