我想在点击按钮时显示图像。请让我知道,我做错了什么?

时间:2015-10-26 09:39:06

标签: android android-layout

单击按钮时,我尝试显示imageView。使用布局属性; visibility和alignParentBottom。

我预料到:

enter image description here

但它不起作用。我不知道。

请检查我的代码。

只需在activity_main.xml中添加按钮和imageView

即可
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <Button
        android:id="@+id/button"
        android:text="show"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imageView" />

    <ImageView
        android:id="@+id/imageView"
        android:visibility="gone"

        android:scaleType="fitCenter"
        android:src="@android:drawable/dialog_holo_light_frame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />

</RelativeLayout>

和MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            ((Button)findViewById(R.id.button)).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    ImageView imageView = (ImageView)findViewById(R.id.imageView);
                    imageView.setVisibility(View.VISIBLE);
                }
            });
        }
    }

结果在这里: enter image description here

那么如何解决这个问题?

请给我一些提示。

3 个答案:

答案 0 :(得分:1)

将您的XML文件更改为: Java文件会重新发送

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
android:gravity="bottom">
<Button
    android:id="@+id/button"
    android:text="show"
    android:layout_gravity="bottom"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/imageView" />

<ImageView
    android:id="@+id/imageView"
    android:visibility="gone"

    android:scaleType="fitCenter"
    android:src="@android:drawable/dialog_holo_light_frame"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />

  </LinearLayout>

答案 1 :(得分:0)

尝试通过添加android:layout_alignParentBottom="true"在Parent中对齐ImageView底部,并在其上方设置按钮:android:layout_above="@+id/imageView",这将有效

答案 2 :(得分:0)

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical"
    android:gravity="bottom">

    <Space
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        />
    <Button
        android:id="@+id/button"
        android:text="show"
        android:layout_gravity="bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imageView" />

    <ImageView
        android:id="@+id/imageView"
        android:visibility="gone"

        android:scaleType="fitCenter"
        android:src="@android:drawable/dialog_holo_light_frame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />

</LinearLayout>