gpt4 book ai didi

android:背景图像从不可见到可见时第一次不显示

转载 作者:太空狗 更新时间:2023-10-29 15:18:15 24 4
gpt4 key购买 nike

我在 relativelayout 中有一个 relativelayout,它都在 include 中。外层 relativelayout 有一个 android:background,它是一个图像。
内有其他图像,但方式相同。
这一切都是不可见的。有一个按钮负责切换可见性。

当它变得可见时 - 显示内部图像但不显示外部图像。
但是如果我点击隐藏然后再次点击显示 - 外部图像也会显示。

这是相关的xml:

<RelativeLayout
android:id="@+id/display_prefs_dialog_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible" >

<include
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="45dp"
android:layout_marginRight="50dp"
layout="@layout/display_prefs_dialog" >
</include>
</RelativeLayout>

在里面包括:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/display_prefs_dialog"
android:layout_width="327dp"
android:layout_height="218dp"
android:background="@drawable/display_win" >

<RelativeLayout
android:id="@+id/display_letters_bg"
android:layout_width="262dp"
android:layout_height="44dp"
android:layout_marginLeft="32dp"
android:layout_marginTop="38dp"
android:background="@drawable/display_letter_frame" >

JAVA代码:

final ImageButton btnDisplay = (ImageButton) findViewById(R.id.btnDisplay);         
final RelativeLayout prefsInnerDialog = (RelativeLayout) findViewById(R.id.display_prefs_dialog);
final RelativeLayout prefsDialog = (RelativeLayout) findViewById(R.id.display_prefs_dialog_layout);


btnDisplay.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
int visibility = prefsDialog.getVisibility();
if (visibility == View.VISIBLE)
{
prefsDialog.setVisibility(View.INVISIBLE);
}
else
{
prefsDialog.setVisibility(View.VISIBLE);
}
}
});

最佳答案

我今天遇到了与您相同的要求,并且做了类似的事情,并且对我有用。为您发布相同的示例代码,这可能会帮助您......!

Java 文件:Main.java

public class Main extends Activity {
RelativeLayout prefsInnerDialog, prefsDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
prefsInnerDialog = (RelativeLayout) findViewById(R.id.display_prefs_dialog);
prefsDialog = (RelativeLayout) findViewById(R.id.display_prefs_dialog_layout);
}
public void toggleIt(View v) {
int visibility = prefsDialog.getVisibility();
if (visibility == View.VISIBLE) {
prefsDialog.setVisibility(View.INVISIBLE);
} else {
prefsDialog.setVisibility(View.VISIBLE);
}
}
}

第一个 XML:main.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:id="@+id/linearLayout1">
<Button android:layout_width="wrap_content" android:text="Button"
android:id="@+id/button1" android:layout_height="wrap_content"
android:onClick="toggleIt"></Button>
<RelativeLayout android:id="@+id/display_prefs_dialog_layout"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:visibility="invisible">
<include android:layout_width="fill_parent"
android:layout_height="fill_parent" layout="@layout/mainsecond">
</include>
</RelativeLayout>
</LinearLayout>

第二个 XML:mainsecond.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/display_prefs_dialog" android:layout_width="320dp"
android:layout_height="480dp" android:background="@drawable/mainbg">
<RelativeLayout android:id="@+id/display_letters_bg"
android:layout_centerInParent="true"
android:layout_width="250dp" android:layout_height="100dp"
android:background="@drawable/databg">
</RelativeLayout>
</RelativeLayout>

查看您的代码,我觉得 java 代码没有任何问题,您遇到问题只是因为 错误 RelativeLayout 用法。

关于android:背景图像从不可见到可见时第一次不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10579698/

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