gpt4 book ai didi

java - 如何使用按钮更改图像并播放声音?

转载 作者:行者123 更新时间:2023-12-03 01:53:49 24 4
gpt4 key购买 nike

我在这里是新手,我一直在寻找一种方法来让我的应用播放声音并在单击按钮时更改背景图像。
该应用程序非常简单,它具有包含图像和按钮的相对布局。
我可以播放声音,但它不会改变屏幕上的图像。

我发现了如何更改屏幕上的图像以及如何播放声音,但是我无法通过单击同一按钮来同时完成这两种操作。

这是我的布局代码

<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="us.xago.chtmpier.MainActivity">

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/pier"
android:scaleType="centerCrop"/>
<ImageView
android:id="@+id/alfredo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/alfredo"
android:scaleType="centerCrop"/>

<Button
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHTM PIER"/>
</RelativeLayout>

和java
 import android.support.v7.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
ImageView alfredo;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alfredo = (ImageView) findViewById(R.id.alfredo);
//set invisible
alfredo.setVisibility(View.INVISIBLE);
alfredo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//show image on the center of screen
//set image
alfredo.setImageResource(R.drawable.alfredo);
// set visible
alfredo.setVisibility(View.VISIBLE);
}
});

Button one = (Button) this.findViewById(R.id.button1);

alfredo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//show image on the center of screen
//set image
// set visible
alfredo.setVisibility(View.VISIBLE);

}
});
final MediaPlayer mp = MediaPlayer.create(this, R.raw.chtmpier);
one.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
mp.start();
}
});
}
}

最佳答案

最简单的方法是重用您的侦听器,因此您必须将其存储在变量中。之后,您可以在按钮侦听器上重用您的侦听器。

import android.support.v7.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
ImageView alfredo;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alfredo = (ImageView) findViewById(R.id.alfredo);
//set invisible
alfredo.setVisibility(View.INVISIBLE);

final OnClickListener changeImage = new OnClickListener() {
public void onClick(View v) {
//show image on the center of screen
//set image
alfredo.setImageResource(R.drawable.alfredo);
// set visible
alfredo.setVisibility(View.VISIBLE);
}
}

alfredo.setOnClickListener(changeImage);

Button one = (Button) this.findViewById(R.id.button1);

final MediaPlayer mp = MediaPlayer.create(this, R.raw.chtmpier);
one.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mp.start();
changeImage.onClick(v);
}
});
}
}

关于java - 如何使用按钮更改图像并播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37332414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com