android 单击按钮后显示图像

raogr8fs  于 2023-01-11  发布在  Android
关注(0)|答案(8)|浏览(197)

我正在做一个非常简单的android应用程序,点击按钮后会显示一张图片。我已经搜索了几天,尝试了我能想到的一切,但似乎不能让它工作。我已经能够在线托管图片和链接到它,但我想离线提供的内容太。请帮助,对不起愚蠢的问题。

更新:

这是一个固定的图像,并且在我的可绘制资源中。下面是我用来显示来自URL的图像的当前代码。要显示来自可绘制资源的相同图像,我应该做哪些更改?
JAVA语言

public class StandingOrders extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    public void buttonClick (View image)
    { 
        Uri uri = Uri.parse("my url");
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent) 
    }
}

XML语言

<Button android:id="@+id/btn1" 
        android:layout_height="wrap_content" 
        android:layout_width="170px" 
        android:text="The Button" 
        android:layout_gravity="center" 
        android:clickable="true"
        android:onClick="buttonClick">
</Button>
92vpleto

92vpleto1#

如果是固定图像,将其作为可绘制资源包含进来,并使用ImageView来显示它;如果是要下载的图像,可以在单独的线程中完成,并将其存储在文件或SQLite数据库中,然后再次使用ImageView来查看它。

fsi0uk1n

fsi0uk1n2#

将ImageView添加到您的xml布局并从onClick调用setImageResource。

setImageResource(R.drawable.yourImage);

或者您可以在布局中设置图像并隐藏ImageView,直到您单击按钮。请参见setVisibility(View.GONE)

vc9ivgsu

vc9ivgsu3#

看看这个答案:https://stackoverflow.com/a/4896272/458968
在您的情况下,uri应该是

Uri.parse("android.resource://com.company.app/"+R.drawable.my_image);
wz3gfoph

wz3gfoph4#

你可以试着实现我在下面发布的方法。我已经做了一些或多或少类似于你的要求。

方法

//method to zoom images

                                        public void zoomImage(String imageUrl)
                                        {
                                            AlertDialog.Builder builder;

                                            Context mContext = ExamActivity.this;
                                            LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
                                            View layout = inflater.inflate(R.layout.custom_dialog,
                                                                           (ViewGroup) findViewById(R.id.layout_root));


                                            //to close dialog
                                            ImageView close_dialog = (ImageView) layout.findViewById(R.id.imageView_custom_dialog_close);

                                            close_dialog.setOnClickListener(new View.OnClickListener() {

                                                public void onClick(View v) {

                                                alertDialog.dismiss();

                                                }
                                            });

                                            //to show image
                                            WebView wv=(WebView) layout.findViewById(R.id.show_image_webView);
                                            wv.getSettings().setBuiltInZoomControls(true);
                                            wv.setInitialScale(200);
                                            wv.loadUrl(imageUrl);

                                            builder = new AlertDialog.Builder(mContext);
                                            builder.setView(layout);
                                            alertDialog = builder.create();

                                            alertDialog.show();

                                        }

imageUrl是指向包含图像的网页的url。2如果你想显示一个本Map像,那么只需要创建一个包含图像的简单html页面并使用本地url。

xghobddn

xghobddn5#

试试这个:-

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
 ImageView imageToDisplay = (ImageView) findViewById(R.id.imageToDisplay);
 Button btnShowImage = (Button) findViewById(R.id.btnShowImage);
 b.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    imageToDisplay.setVisibility(View.VISIBLE); 
    imageToDisplay.setImageResource(R.drawable.imagelogo);
    }
});
  }
}

布局中imageToDisplay的可见性消失。

vsnjm48y

vsnjm48y6#

尝试以下示例
您可以从以下网址下载“android-query-0.22.10.jar”文件。
http://www.java2s.com/Code/Jar/a/Downloadandroidquery02210jar.htm
main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.addbuttondynamic.AddButtonDynamic" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Load Image" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
         />

</LinearLayout>

以及Main.java

import com.androidquery.AQuery;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

public class Main extends Activity {

    Button btnLoad;
    ImageView ivImage;
    AQuery aQuery;

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

        btnLoad=(Button)findViewById(R.id.button1);
        ivImage=(ImageView)findViewById(R.id.imageView1);
        aQuery=new AQuery(this);
        btnLoad.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                //load image from /res folder.

                ivImage.setImageResource(R.drawable.ic_launcher);

                //load image from url.

                aQuery.id(ivImage).image("you URL");

                // if ivImage is not working in aQuery.id() then use R.id.imageView1.
            }
        });

    }
}
zzwlnbp8

zzwlnbp87#

activity_main.xml

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.imagechange.MainActivity" 
    >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="10dp"
        android:text="@string/khilan" 
        android:onClick="btnOnClick"
        />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="800px"
        android:layout_height="500px"
        android:layout_marginTop="70dp"/>

</RelativeLayout>

MainActivity.java

public class MainActivity extends Activity
     {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
    public void btnOnClick (View view)
    {
        String imagename = "khilan";
        int res = getResources().getIdentifier(imagename, "drawable", getPackageName());
        ImageView iv = (ImageView) findViewById(R.id.imageView1);
        iv.setImageResource(res);
    }
}
wpx232ag

wpx232ag8#

创建一个带有图像和按钮的布局,隐藏图像并单击将可见性设置为VISIBLE。
下面是XML的外观:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/image"
        android:src="@drawable/image1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="gone"/>
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show Image" />
</RelativeLayout>

下面是Java代码

ImageView image = findViewById(R.id.image);
Button button = findViewById(R.id.got_it_button);
image.setVisibility(View.GONE);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            image.setVisibility(View.VISIBLE);
        }
    });

祝你好运:)

相关问题