gpt4 book ai didi

java - ImageButtons 上的 setVisibility 问题

转载 作者:行者123 更新时间:2023-12-01 15:35:50 24 4
gpt4 key购买 nike

嘿,所以我一直在寻找这个主题,但找不到很多东西,所以我想我很清楚地问这个问题。我想要实现的是在 XML 布局中有两个重叠的图像按钮。然后在 .java 文件中,当单击顶部按钮时,它会消失并出现第二个图像按钮。单击该按钮后,它会消失,第一个图像按钮会重新出现,并不断出现。

我遇到的问题是,当我单击第一个按钮时,它会消失得很好,并且总共工作两次,然后所有内容都会消失。我不确定我这样做是否正确,并且可能有比我现在这样做更好的方法来实现这一目标,所以我很乐意接受建议。

此外,我在第一个按钮中没有另一行将 musicbutton2 设置为可见的原因是因为当我这样做时,标签以蓝色突出显示,并导致强制关闭。

optionsActivity.java(新):

    package com.crazycastles;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;

public class optionsActivity extends Activity {
/** Called when the activity is first created. */
ImageButton musicbutton, musicbutton2;
boolean answer=true;
final MediaPlayer buttonSound = MediaPlayer.create(
optionsActivity.this, R.raw.swords);


@Override

public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

super.onCreate(savedInstanceState);
setContentView(R.layout.options);




if (answer=true){
//CREATE BUTTON 1 & SOUND
final ImageButton musicbutton = (ImageButton) findViewById(R.id.musicbutton);
musicbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
musicbutton.setBackgroundResource(R.drawable.musicbutton2);
buttonSound.start();
answer=false;
}
});
}


if (answer!=true){
//CREATE BUTTON 1 & SOUND
final ImageButton musicbutton = (ImageButton) findViewById(R.id.musicbutton);
musicbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
musicbutton.setBackgroundResource(R.drawable.musicbutton);
buttonSound.start();
answer=true;
}
});
}




}
}

选项.xml:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/mainscreen" >

<ImageButton
android:id="@+id/musicbutton"
android:layout_width="218dp"
android:layout_height="51dp"
android:layout_marginBottom="100dp"
android:layout_marginLeft="50dp"
android:layout_marginTop="200dp"
android:background="@drawable/musicbutton"
android:scaleType="centerCrop"
/>



</LinearLayout>

最佳答案

我认为您的问题是由于您尝试使用线性布局和顶部边距来向上移动其中一个按钮的方式所致。

查看RelativeLayout如果你改用其中之一作为你的 parent ,那么你就可以摆脱边际的东西。这些按钮将默认按照您的目标重叠。如果您这样做后仍然遇到相同的问题,请向单击监听器添加一些日志调试语句,这些监听器会在按钮更改可见性时输出,以尝试查看发生的情况。

如果您的目标只是改变按钮的外观,我建议仅使用一个按钮,并使用 Button.setBackgroundResource() 更改其背景。 。您可以保留一个 boolean 标志并使用它检查是否应该设置为 R.drawable.musicbutton 还是 R.drawable.musicbutton2

关于java - ImageButtons 上的 setVisibility 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8860003/

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