2

在过去的 6 个小时里,我一直在调试这个问题,并将我的问题简化为最简单的情况(取出我的大部分逻辑)。我正在尝试在视图中将 2 个(鸡)图像堆叠在一起。

我遵循了许多示例,包括最后一个答案: 在 android 中的视图上绘制多个位图

我的活动看起来像:

public class FinalDisplay extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_final_display);

    LinearLayout layout = (LinearLayout) findViewById(R.id.activity_final_display);

    ImageView iv = new ImageView(this);
    iv.setBackgroundResource(R.drawable.images);
    layout.addView(iv);

    ImageView iv2 = new ImageView(this);
    iv.setBackgroundResource(R.drawable.images);
    layout.addView(iv2);

}

R.drawable.images 是我从 Internet 上获取并放置在我的可绘制文件夹中的一只鸡的图像。

http://images3.wikia.nocookie.net/__cb20130606165308/animalcrossing/images/4/41/Chicken.jpg

我的 xml 页面看起来像

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_final_display"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".FinalDisplay" >

然而,只出现了一只鸡。任何帮助将不胜感激。

4

2 回答 2

1

@MH(在评论中)是正确的。

将 LinearLayout 替换为 RelativeLayout。位于顶部的视图是最后添加(或在 XML 中声明)的视图。

这应该按照您希望的方式工作。

爪哇:

RelativeLayout layout = (RelativeLayout) findViewById(R.id.activity_final_display);

ImageView iv = new ImageView(this);
iv.setBackgroundResource(R.drawable.images);
layout.addView(iv);

ImageView iv2 = new ImageView(this);
iv.setBackgroundResource(R.drawable.images);
layout.addView(iv2);

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_final_display"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".FinalDisplay" >
于 2013-09-19T06:08:57.370 回答
1
ImageView iv = new ImageView(this);
iv.setBackgroundResource(R.drawable.images);
layout.addView(iv);

ImageView iv2 = new ImageView(this);
iv2.setBackgroundResource(R.drawable.images);
layout.addView(iv2);

试试看

于 2013-09-19T04:05:44.940 回答