ImageView android中止程序

时间:2016-03-26 17:17:30

标签: android imageview

我正在使用ImageView编写一个Android应用程序,当我尝试动态更改宽度和高度时,应用停止(中止)。我使用以下命令:

RelativeLayout.LayoutParams icon_horizontal = new RelativeLayout.LayoutParams(50, 50);
mec21h_icon2.setLayoutParams(icon_horizontal);

布局是相对的,那有什么不对?

3 个答案:

答案 0 :(得分:0)

最好有一个堆栈跟踪,以便了解错误是什么。 没有这个,我可以猜测:

  • 你正试图使用​​错误的父布局参数
  • ImageView ref为null
  • ...

答案 1 :(得分:0)

我猜你试图在图像尺寸可见(已经显示)之后改变图像尺寸,如果是这样,你应该先调用方法requestLayout(); 即。

       mImageView.requestLayout();

答案 2 :(得分:0)

单击按钮时重新调整图像大小。

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/rel"
    tools:context="com.testingpp.scannerbarcode.MainActivity">


    <ImageView
        android:id="@+id/imageview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:onClick="button_one"
        android:src="@drawable/btn_back"
        />
</FrameLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {

    FrameLayout layout;
    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    imageView  =  (ImageView) findViewById(R.id.imageview);
        layout = (FrameLayout) findViewById(R.id.rel);

    }

    public void button_one(View view)
    {
        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(50,50);
        layout.setLayoutParams(params);
    }

   }

如果您使用的是Framents,那么请不要使用onClick of xml。在java中使用onClickListener。