所以我試圖創建一個棋盤遊戲令牌,並將該令牌放置在它的起點上。就在這個層面上發生的事情,它在ImageView上開始。但是,當我創建令牌並告訴它去哪裏時,它顯示在gridview下。任何想法或幫助將不勝感激!Android以編程方式在另一個ImageView上添加一個ImageView
我想它是因爲我在網格視圖內使用RelativeLayout.ALIGN_TOP,但我沒有看到替代方案。
的Java:
public void createToken(){
// Let's create the missing ImageView
ImageView image = new ImageView(this);
// Now the layout parameters, these are a little tricky at first
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(75, 75);
params.addRule(RelativeLayout.ALIGN_RIGHT, R.id.onetwo);
params.addRule(RelativeLayout.ALIGN_LEFT, R.id.onetwo);
params.addRule(RelativeLayout.ALIGN_TOP, R.id.onetwo);
params.addRule(RelativeLayout.ALIGN_BOTTOM, R.id.onetwo);
image.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
image.setImageResource(R.drawable.robo);
// Let's get the root layout and add our ImageView
GridLayout layout = (GridLayout) findViewById(R.id.gridLayout1);
layout.addView(image, params);
}
XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/root" >
...
<GridLayout
android:id="@+id/gridLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:columnCount="3"
android:rowCount="5" >
...
<ImageView
android:id="@+id/onetwo"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:contentDescription="@string/gameboard"
android:gravity="center"
android:src="@drawable/tile" />
...
</GridLayout>
...
</RelativeLayout>
這是爲什麼.... – jcaruso
閱讀的FrameLayout第一文檔:HTTP:/ /developer.android.com/reference/android/widget/FrameLayout.html 最重要的是這一行:'子視圖被繪製在一個堆棧中,最近添加的子項在頂部.'只需小心測試不同的屏幕大小它說如果你走這條路。 –