Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在按钮上添加图像视图_Java_Android_Android Studio_Button_Imageview - Fatal编程技术网

Java 如何在按钮上添加图像视图

Java 如何在按钮上添加图像视图,java,android,android-studio,button,imageview,Java,Android,Android Studio,Button,Imageview,我想在按钮的onClick()中添加一个ImageView。但是图像视图应该与按钮的中心对齐。 @Override public void onClick(final View v) { //LinearLayout LinearLayout linearLayout= new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL);

我想在按钮的
onClick()
中添加一个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);
}
我如何务实地做到这一点?

我正在创建一个新的ImageView实例,添加到调用它的视图的顶部,它的位置与调用它的视图的位置相同

如何获取X和Y坐标?

编辑:

@覆盖
公共void onClick(最终视图v){
如果(v.getWidth()>v.getHeight())size=v.getHeight();
如果(v.getWidth()
我正在使用上面的代码尝试实用地将ImageView的大小设置为按钮的大小,并且它正在工作

至于坐标,我还没弄清楚


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

我建议一个更好的解决方案,先创建一个图像视图,然后根据您的需要将其放入xml中,首先将其可见性设置为false。 单击将其可见性切换为true,图像将显示

此解决方案比您正在搜索的更简单


请随意提问,以添加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);
}

创建自定义布局并将其分配给按钮。我们可以看到您正在尝试的代码吗?抱歉,上面的代码工作得很好。我需要帮助获取按钮的位置并相应地设置ImageView的位置。您不能使用ImageButton吗?为了增加清晰度,我正在尝试构建一个涟漪效应,它将在旧API上工作,因此我问题是我当前的实现使用了一个TableLayout,所以我不认为我可以在按钮上添加ImageView。这里还有一个建议,设置你想要的图像作为按钮的背景,当你按下它时:将背景替换为你的图像,删除文本,然后按钮不可打开