【问题标题】:How to add an ImageView over a Button如何在按钮上添加 ImageView
【发布时间】:2016-07-21 02:39:17
【问题描述】:

我想在按钮的onClick() 中添加一个 ImageView。但是 ImageView 应该与按钮的中心对齐。

如何务实地做到这一点?

我正在创建一个新的 ImageView 实例,以添加到调用它的 View 之上,它的位置与调用它的 View 相同。

如何获取 X 和 Y 坐标?

编辑:

@Override
     public void onClick(final View v) {
            if(v.getWidth() > v.getHeight()) size = v.getHeight();
            if(v.getWidth() < v.getHeight()) size = v.getWidth();
            RelativeLayout.LayoutParams button = new RelativeLayout.LayoutParams(size,size);
            buttonc = new ImageView(getApplicationContext());
            buttonc.setBackgroundResource(R.drawable.round);
            layout.addView(buttonc,button);

我正在使用上面的代码尝试实用地将 ImageView 的大小设置为按钮的大小,并且它正在工作。

至于坐标,我还没弄明白。

为了增加清晰度:我试图在调用它的视图上创建一个圆形的涟漪效果。

【问题讨论】:

  • 创建自定义布局并将其分配给按钮。
  • 我们能看到你正在尝试的代码吗?
  • 对不起,上面的代码运行良好。我需要帮助获取 Button 的位置并相应地设置 ImageView 的位置。
  • 你不能使用 ImageButton 吗?
  • 为了清晰起见,我正在尝试构建一种适用于旧 API 的涟漪效应,因此它必须覆盖调用它的视图。

标签: java android android-studio button imageview


【解决方案1】:

添加Imageview

@Override
     public void onClick(final View v) {
    //LinearLayout
            LinearLayout linearLayout= new LinearLayout(this);
            linearLayout.setOrientation(LinearLayout.VERTICAL);

            linearLayout.setLayoutParams(new LayoutParams(
                    LayoutParams.MATCH_PARENT,
                    LayoutParams.MATCH_PARENT));

      //ImageView 
            ImageView imageView = new ImageView(this);
      //image resource
            imageView.setImageResource(R.drawable.specs);
      //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】:

    我建议一个更好的解决方案先创建一个图像视图,然后再将它放在你认为合适的 xml 中,首先将其可见性设置为 false 。 点击后将其可见性切换为true,图像就会出现

    此解决方案比您搜索的更容易。

    欢迎提问

    【讨论】:

    • 问题在于我当前的实现使用了 TableLayout,所以我认为我不能在 Button 上添加 ImageView
    • 好的,这里有另一个建议,将您想要的图像设置为按钮的背景,只需按下它即可:将背景替换为图像,删除文本并使按钮不可点击
    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多