मैं एक सर्कल के भीतर एक सापेक्ष लेआउट बनाने की कोशिश कर रहा हूं यानी सापेक्ष लेआउट नीचे दिए गए आंकड़े में दिखाए गए वर्ग की तरह होना चाहिए।एक सर्कल के अंदर एक वर्ग लेआउट ड्राइंग
मैं चौड़ाई और के रूप में लेआउट की ऊंचाई निर्धारित करने की कोशिश कर रहा हूँ: है जिसके बारे में 70%
square inside a circle http://www.yogaflavoredlife.com/wp-content/uploads/2010/09/square-circle.gif
public class SquareLayout extends RelativeLayout {
public SquareLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int originalWidth = MeasureSpec.getSize(widthMeasureSpec);
int originalHeight = MeasureSpec.getSize(heightMeasureSpec);
int required = Math.min(originalWidth, originalHeight) * 7/10;
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(required, required);
}
}
√((diameter)²/2)
क्या मैं हो रही है वर्ग के बजाय एक आयताकार लेआउट है लेआउट:
क्या कोई मुझे मार्गदर्शन कर सकता है कि मैं गलत कहां जा रहा हूं?
नमूना उपयोग:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.example.widget.SquareLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F55C5C">
</com.example.widget.SquareLayout>
</RelativeLayout>
मैं आपका कोड आज़माता हूं और मुझे एक वर्ग मिल रहा है, इसे पास के अन्य विचारों के साथ करना पड़ सकता है। –
मुझे एक आयताकार मिल रहा है। – Samir
क्या आप पूर्ण स्क्वायरफ्रेम इनसाइडक्रिकल दृश्य दे सकते हैं? मुझे लगता है कि इस वर्ग की ऊंचाई के साथ कुछ करने के लिए सर्कल ऊंचाई से मेल नहीं खाता है। खासकर जब से आप 'super.onMeasure (widthMeasureSpec, heightMeasureSpec) का उपयोग करते हैं,' आवश्यक पास करने के बजाय। –