【问题标题】:Show ImageView programmatically以编程方式显示 ImageView
【发布时间】:2011-09-05 01:34:58
【问题描述】:

当用户单击按钮时,如何使 ImageView 出现在屏幕中间?我已将图像放在 res/drawable-folder 中。

我一直在尝试使用下面的代码,但我不知道如何让 ImageView 出现:

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

谢谢!

【问题讨论】:

    标签: android android-imageview


    【解决方案1】:
    //LinearLayOut Setup
    LinearLayout linearLayout= new LinearLayout(this);
    linearLayout.setOrientation(LinearLayout.VERTICAL);
    
    linearLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
    LayoutParams.MATCH_PARENT));
    
    //ImageView Setup
    ImageView imageView = new ImageView(this);
    
    //setting image resource
    imageView.setImageResource(R.drawable.play);
    
    //setting image position
    imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
    LayoutParams.WRAP_CONTENT));
    
    //adding view to layout
    linearLayout.addView(imageView);
    //make visible to program
    setContentView(linearLayout);
    

    【讨论】:

      【解决方案2】:
      int id = getResources().getIdentifier("gameover", "drawable", getPackageName());
      ImageView imageView = new ImageView(this);
      LinearLayout.LayoutParams vp = 
          new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
                          LayoutParams.WRAP_CONTENT);
      imageView.setLayoutParams(vp);        
      imageView.setImageResource(id);        
      someLinearLayout.addView(imageView); 
      

      【讨论】:

        【解决方案3】:

        如果你添加到RelativeLayout,不要忘记设置imageView的位置。例如:

        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(200, 200);
        lp.addRule(RelativeLayout.CENTER_IN_PARENT); // A position in layout.
        ImageView imageView = new ImageView(this); // initialize ImageView
        imageView.setLayoutParams(lp);
        // imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageView.setImageResource(R.drawable.photo);
        RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
        layout.addView(imageView);
        

        【讨论】:

          【解决方案4】:

          【讨论】:

          • 不是很有帮助。应该说“检查文档”
          • 太模糊了......“1)学习java 2)阅读android文档”可能也可以。
          • 哇,苛刻。我认为他的回答写得很好,并使用了适当的链接来回答问题。
          • @FuriousFolder 用代码而不是链接回答问题。
          • @FuriousFolder 这是堆栈溢出而不是链接溢出:)
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-06
          相关资源
          最近更新 更多