के अंदर प्रतिशत रिटेलिवेटआउट मैंने ScrollView
का उपयोग करके एक लेआउट बनाया है जिसमें PercentRelativeLayout
है जो उसके बच्चे के रूप में है। यह लॉलीपॉप और पुराने उपकरणों पर काम नहीं करता है लेकिन मार्शमलो डिवाइस पर ठीक काम करता है। नीचे दिए गए कोड की जाँच करें:स्क्रॉलव्यू
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<android.support.percent.PercentRelativeLayout
android:id="@+id/scrollContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_heightPercent="100%"
app:layout_widthPercent="50%">
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_red_dark"
android:text="kkjknadko"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_widthPercent="50%"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:text="Abcaad"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="10%"
app:layout_widthPercent="50%"/>
<TextView
android:id="@+id/textview3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview2"
android:background="@android:color/holo_red_dark"
android:text="Abcd"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="10%"
app:layout_widthPercent="50%"/>
<TextView
android:id="@+id/textview4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview3"
android:text="Abcd"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="10%"
app:layout_widthPercent="50%"/>
<TextView
android:id="@+id/textview5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview4"
android:background="@android:color/holo_red_dark"
android:text="Abcd"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="10%"
app:layout_widthPercent="50%"/>
<TextView
android:id="@+id/textview6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview5"
android:text="Abcd"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="10%"
app:layout_widthPercent="50%"/>
<TextView
android:id="@+id/textview7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview6"
android:text="Abcd"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="10%"
app:layout_widthPercent="50%"/>
<TextView
android:id="@+id/textview8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview7"
android:text="Abcd"
android:textColor="@android:color/black"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="10%"
app:layout_widthPercent="50%"/>
</android.support.percent.PercentRelativeLayout>
</ScrollView>
और यह भी मैं android:fillViewport="true"
, यह लॉलीपॉप में कुछ भी और पुराने Android संस्करण प्रदर्शित नहीं करता है।
दुर्भाग्यवश, प्रतिशत लेआउट एम से पहले ScrollView
के साथ काम नहीं करेगा। इसका कारण यह है कि वे मापने के चरण में दिए गए आकार संकेत पर निर्भर करते हैं। एम से पहले अधिकांश लेआउट अनुपयुक्त माप spec भेजते समय आकार संकेत 0 प्रदान करेगा।
आपको लगता है कि ठीक करने के लिए
ScrollView
और अधिभावीmeasureChild
औरmeasureChildWithMargins
की अपनी खुद की उपवर्ग (सौभाग्य से दोनों सुरक्षित हैं) बनाने के आकार संकेत प्रदान करने के लिए कोशिश कर सकते हैं।
स्रोत - plus.google.com।
क्या कोई इसे काम करने के लिए कस्टम ScrollView
बनाने में मेरी सहायता कर सकता है?
कोशिश NestScrollView बजाय scrollview उपयोग करने के लिए। –
मैंने कोशिश की है लेकिन यह –