नहीं बदलता है मेरे पास कुछ दृश्यों के साथ एक कस्टम ViewGroup
है।बल पर एक सबव्यू में लागू करें जिसका आयाम
किसी ईवेंट के जवाब में, एक अनुरोध लेआउट कहा जाता है और OnLayout
में कुछ विचार एक नई लेआउट स्थिति प्राप्त करेंगे।
उनमें से एक अपनी स्थिति बनाए रखता है लेकिन अंदर पुन: व्यवस्थित करने की आवश्यकता है। हालांकि इस दृश्य की ऑनलेआउट विधि को कॉल नहीं किया जाएगा क्योंकि इसकी लेआउट स्थिति बदलती नहीं है। इस दृश्य में requestLayout
, forceLayout
या invalidate
पर कॉल करने का प्रयास नहीं किया जाता है।
मुझे मिली एकमात्र गंदे चाल लेआउट परिवर्तन को मजबूर करने के लिए अपनी कुछ मूल्य स्थिति को बदलना है, लेकिन मुझे लगता है कि एक बेहतर तरीका होना चाहिए। तो, अब तक मैं कुछ (भयानक) करता हूं जैसे:
int patch = 0;
@Override protected void onLayout(boolean changed, int l, int t, int r, int b) {
...
_myView.patchedLayout(patch);
_myview.layout(l1, t1 , r1, t1+patch);
patch = (patch+1) % 2;
...
}
एक ही परिणाम को बेहतर तरीके से प्राप्त करने का कोई तरीका?