以编程方式绘制布局顶部的图像

时间:2014-06-17 12:04:50

标签: android layout canvas overlay draw

我遇到问题并在线查找我无法找到任何解决方案。

我有一个像下面的xml布局(我已经简化了它,我有理由像这样格式化):

<Linear layout>
    <Linear layout>
        <ImageView>
        <ImageView>
    </Linear layout>
    <Linear layout>
        <ImageView>
        <ImageView>
    </Linear layout>
</Linear layout>

现在,如果跟随某个事件,我想要按照4个ImageView代码中的一个来绘制图像?

(我不想使用背景+ src技巧来完成这项工作)

提前谢谢你 任何帮助将不胜感激

弗朗西斯

编辑:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="20"
        android:orientation="horizontal"
        android:background="#FFFFFF"
        >
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="15"
        android:orientation="horizontal"
        android:background="#FFFFFF"
        >
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            />
        <ImageButton
            android:id="@+id/imagebutton1"
            android:onClick="imagebutton1_code"
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="match_parent"
            android:background="@null"
            android:scaleType="fitCenter"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            />
        <ImageButton
            android:id="@+id/imagebutton2"
            android:onClick="imagebutton2_code"
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="match_parent"
            android:background="@null"
            android:scaleType="fitCenter"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="5"
        android:orientation="horizontal"
        android:background="#FFFFFF"
        >
    </LinearLayout>
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="15"
        android:orientation="horizontal"
        android:background="#FFFFFF"
        >
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            />
        <ImageButton
            android:id="@+id/imagebutton3"
            android:onClick="imagebutton3_code"
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="match_parent"
            android:background="@null"
            android:scaleType="fitCenter"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            />
        <ImageButton
            android:id="@+id/imagebutton4"
            android:onClick="imagebutton4_code"
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="match_parent"
            android:background="@null"
            android:scaleType="fitCenter"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="18"
        android:orientation="horizontal"
        android:background="#FFFFFF"
        >
    </LinearLayout>
</LinearLayout>

一般来说,我的问题是我仍然希望在xml中声明布局,只需在代码中的任何地方放置一个图像。

再次感谢您

1 个答案:

答案 0 :(得分:0)

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="20"
        android:orientation="horizontal"
        android:background="#FFFFFF"
        >
    </LinearLayout>

Assign An id to LinearLayout

View v = new ImageView(getBaseContext());
 ImageView image; 
 image = new ImageView(v.getContext()); 
 image.setImageDrawable(v.getResources().getDrawable(R.drawable.gameover));

LinearLayout linlayout = findViewById(R.layout.current_layout);
linlayout.addview(v);