को घुमाने के लिए सेट किया गया है, मेरे पास एक पूर्ण स्क्रीन पर एक glsurface है। एक बटन के क्लिक पर मैं एक और लेआउट दिखाना चाहता हूं (सेटिंग्स का प्रकार)। अगर मैं ओवरले के दृश्यमान होने से शुरू करता हूं, तो मैं इसे अदृश्य बना सकता हूं और फिर बिना किसी समस्या के फिर से दिखाई दे सकता हूं। लेकिन अगर मैं इसे अदृश्य के साथ शुरू करता हूं, तो मैं इसे फिर कभी दिखाई नहीं दे सकता। कोड निम्नानुसार है:एंड्रॉइड सेट दृश्यता प्रदर्शित नहीं होती है अगर प्रारंभ में
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.opengl.GLSurfaceView
android:id="@+id/glPlaySurface"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.opengl.GLSurfaceView>
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/btnRotate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:checked="true"
android:text="R"
android:textColor="#000" />
<RadioButton
android:id="@+id/btnPan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="P"
android:textColor="#000" />
</RadioGroup>
<Button
android:id="@+id/btnLights"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@+id/radioGroup1"
android:text="Lights" />
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutLights"
android:layout_width="100dp"
android:layout_height="100dp"
android:visibility="visible" <--- Does not work if set to invisible
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="#fff" >
<Button
android:id="@+id/btnLightsOK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="15dp"
android:text="OK" />
<Button
android:id="@+id/btnLights"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="15dp"
android:text="OK" />
</RelativeLayout>
</RelativeLayout>
private OnClickListener mOnLightsClick = new OnClickListener() {
public void onClick(View arg0) {
if(mLayoutLights.getVisibility() == View.VISIBLE) {
mLayoutLights.setVisibility(View.INVISIBLE);
}
else {
mLayoutLights.setVisibility(View.VISIBLE);
}
}
};
समस्या glsurface से संबंधित है। यदि मैं एक सामान्य सतहदृश्य के साथ glsurface को प्रतिस्थापित करता हूं तो यह ठीक काम करता है। – user1248322
अधिक जानकारी: यदि मैंने ग्लासफ़ेस को GONE पर सेट किया है, तो दृश्य को लेआउट सेट करें, फिर glsurface को वापस विज़िबल पर सेट करें - यह काम करता है। लेकिन ... अगर मैंने गन्स के बजाय ग्लिसफ्रस को अविश्वसनीय रूप से सेट किया है - यह काम नहीं करता है। – user1248322
ठीक है - एपीआई डेमो में surface_view_overlay ठीक वही करता है जो मैं ढूंढ रहा हूं - मैं देख रहा हूं कि मैं कहां गलत हुआ और फिर पोस्ट कर रहा हूं। यूआई थ्रेड पर – user1248322