android - 我的程序以编程方式添加 ImageView 有什么问题

标签 android imageview

我正在使用 main.xml 将小部件添加到我的 Activity 中,但由于某些原因,我想以编程方式添加 imageView,这是我的程序,

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(R.drawable.building_icon);
        imageView.getLayoutParams().height = 100 ;
        imageView.getLayoutParams().width = 100 ;
        imageView.setBackgroundColor(Color.BLACK);
        FrameLayout fl = new FrameLayout(this); // because I am working with frame layout
        fl.addView(imageView); 
        }

我的imageView没有出现,请问我错过了什么?

最佳答案

您已经创建了一个新的 FrameLayout 并将您的 ImageView 附加到它,但您的 FrameLayout 未附加到任何东西。

要引用 main.xml 中的一个,请执行以下操作:

FrameLayout fl = (FrameLayout) findViewById(R.id.my_frame_layout); 
fl.addView(imageView); 

它在 main.xml 中的定义如下:

<FrameLayout
    android:id="@+id/my_frame_layout"
    ... />

关于android - 我的程序以编程方式添加 ImageView 有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20287217/

相关文章:

java - 从适配器类扩展类

android - PhoneGap - 构建 phonegap android 应用程序会在 Linux 上产生编译错误

android - Android 上共享库的偏移量

android - 具有 ImageView 和可见性的 ListView

java - 如何在不丢失 x 和 y 布局坐标的情况下添加缩放功能

android - 从我的应用程序打开 Google Play 以列出我的所有应用程序 : Android

android - ImageView 对齐问题

Android ImageView问题

ios - 如何旋转蒙版图像?

java - 如何获取从您的应用程序开始通话的持续时间?