डिफ़ॉल्ट रूप से एंड्रॉइड चेकबॉक्स दाईं ओर टेक्स्ट दिखाता है और बाईं ओर चेकबॉक्स
मैं बाईं ओर टेक्स्ट के साथ दाईं ओर चेकबॉक्स दिखाना चाहता हूं
मुझे यह कैसे हासिल होगा?
डिफ़ॉल्ट रूप से एंड्रॉइड चेकबॉक्स दाईं ओर टेक्स्ट दिखाता है और बाईं ओर चेकबॉक्स
मैं बाईं ओर टेक्स्ट के साथ दाईं ओर चेकबॉक्स दिखाना चाहता हूं
मुझे यह कैसे हासिल होगा?
जवाबों:
मैं स्टाइल के साथ एक तरह से नहीं सोच सकता, लेकिन आप बस चेकबॉक्स के पाठ को कुछ भी नहीं सेट कर सकते हैं, और अपने इच्छित पाठ के साथ चेकबॉक्स के बाईं ओर एक टेक्स्ट व्यू डाल सकते हैं।
मुझे लगता है कि इस प्रश्न का उत्तर देने में बहुत देर हो चुकी है, लेकिन वास्तव में आपके लक्ष्य को प्राप्त करने का एक तरीका है। आपको बस अपने चेकबॉक्स में निम्न पंक्ति जोड़ने की आवश्यकता है:
android:button="@null"
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
आप चेकबॉक्स के लिए अपने अनुकूलित ड्रॉबल का भी उपयोग कर सकते हैं।
और एक रेडियोबटन के लिए:
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
और अगर आप इसे प्रोग्रामेटिक रूप से करना चाहते हैं:
एक लेआउट को परिभाषित करें और इसे राइट-चेकबॉक्स नाम दें और निम्नलिखित पंक्तियों को कॉपी करें:
<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:text="hello"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:button="@null"
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"/>
और जब आपको इसे प्रोग्रामेटिक रूप से जोड़ने की आवश्यकता होती है, तो आपको इसे एक चेकबॉक्स में भड़काने और इसे रूट दृश्य में जोड़ने की आवश्यकता होती है।
CheckBox cb = (CheckBox)((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.check_right_checkbox,null);
rootView.addView(cb);
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
। मुझे लगता है कि यह मेरे द्वारा अब तक मिले दाईं ओर एक चेकबॉक्स का सबसे अच्छा समाधान है।
android:drawableEnd
इसके अलावा android:drawableRight
(समान मूल्य के साथ) जोड़ें।
तुम कर सकते हो
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right|center"//or "center_vertical" for center text
android:layoutDirection="rtl"
android:text="hello" />
निम्नलिखित पंक्ति पर्याप्त है
android:layoutDirection="rtl"
android:gravity="end|center_vertical"
पाठ प्रदर्शन को बाईं ओर करने के लिए सेट करने की आवश्यकता है क्योंकि लेआउट अभी शुरू होता है।
बस इसे कॉपी करें:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your text:"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
/>
</LinearLayout>
हैप्पी कोडिंग! :)
चेकबॉक्स पाठ को बाईं ओर संरेखित नहीं किया जा सकता है
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
कुछ डिवाइस में। समस्या से बचने के लिए प्रतिस्थापन के रूप में CheckedTextView का उपयोग कर सकते हैं ,
<CheckedTextView
...
android:checkMark="@android:drawable/btn_radio" />
और यह लिंक उपयोगी होगा: पाठ को संरेखित करें, चेकबॉक्स दाईं ओर
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
<android.support.v7.widget.AppCompatCheckBox
android:id="@+id/checkBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layoutDirection="rtl"
android:text="text" />`
आप इसके बजाय checkTextView का उपयोग कर सकते हैं।
http://developer.android.com/reference/android/widget/CheckedTextView.html
इस सवाल का एक और जवाब जोड़ना जो CheckedTextView का उपयोग करता है। यदि कोई इसे प्रोग्राम करने की कोशिश कर रहा है। इसमें चेकबॉक्स के लिए कस्टम छवियों का उपयोग करने का विकल्प भी है। और सिंगल व्यू में किया जा सकता है
final CheckedTextView checkBox = new CheckedTextView(getApplicationContext());
checkBox.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
checkBox.setId(1);
checkBox.setCheckMarkDrawable(android.R.drawable.checkbox_off_background);
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (checkBox.isChecked()){
checkBox.setChecked(false);
checkBox.setCheckMarkDrawable(android.R.drawable.checkbox_off_background);
}else{
checkBox.setChecked(true);
checkBox.setCheckMarkDrawable(android.R.drawable.checkbox_on_background);
}
}
});
checkBox.setTextColor(Color.BLACK);
checkBox.setGravity(Gravity.LEFT);
checkBox.setText("hi");
XML से यदि आप आरंभ करना चाहते हैं -
<CheckedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkMark="@android:drawable/checkbox_off_background"
android:checked="false"
android:text="Hi from xml"/>
निम्न लिंक यह दर्शाता है कि दाएं ओर एक एनिमेटेड चेकबॉक्स के साथ सीवेरीवल स्टैंडर्ड एंड्रॉइड व्यू ऑब्जेक्ट को सही ड्रॉबल सेट करके कैसे रेंडर किया जाए।
तरंग प्रभाव प्राप्त करने के लिए पृष्ठभूमि सेट करें।
[दाईं और बाईं ओर चेकबॉक्स के साथ वेबसाइट से लिंक करें।] [1] http://landenlabs.com/android/uicompords/uicompords.html#checkbox
<Button
android:id="@+id/p2Button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/transparent_ripple"
android:drawableRight="@drawable/checkline"
android:gravity="left|center_vertical"
android:text="Button"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<android.support.v7.widget.AppCompatButton
android:id="@+id/p2Button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/transparent_ripple"
android:drawableRight="@drawable/checkline"
android:gravity="left|center_vertical"
android:text="AppCompatButton"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<TextView
android:id="@+id/p2TextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/transparent_ripple"
android:drawableRight="@drawable/checkline"
android:gravity="left|center_vertical"
android:hapticFeedbackEnabled="true"
android:text="TextView"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<android.support.v7.widget.AppCompatTextView
android:id="@+id/p2TextView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/transparent_ripple"
android:drawableRight="@drawable/checkline"
android:gravity="left|center_vertical"
android:hapticFeedbackEnabled="true"
android:text="AppCompatTextView"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/white" />
<CheckBox
android:id="@+id/p2Checkbox1"
android:layout_width="match_parent"
android:layout_height="@dimen/buttonHeight"
android:background="@drawable/transparent_ripple"
android:button="@null"
android:checked="true"
android:drawableRight="@drawable/checkline"
android:gravity="left|center_vertical"
android:text="CheckBox"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<android.support.v7.widget.AppCompatCheckBox
android:id="@+id/p2Checkbox2"
android:layout_width="match_parent"
android:layout_height="@dimen/buttonHeight"
android:background="@drawable/transparent_ripple"
android:button="@null"
android:checked="true"
android:drawableRight="@drawable/checkline"
android:gravity="left|center_vertical"
android:text="AppCompatCheckBox"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<android.support.v7.widget.AppCompatCheckedTextView
android:id="@+id/p2Checkbox3"
android:layout_width="match_parent"
android:layout_height="@dimen/buttonHeight"
android:background="@drawable/transparent_ripple"
android:checkMark="@drawable/checkline"
android:checked="true"
android:gravity="left|center_vertical"
android:text="AppCompatCheckedTextView"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<!-- android:checkMark="?android:attr/listChoiceIndicatorMultiple" -->
<CheckedTextView
android:id="@+id/p2Checkbox4"
android:layout_width="match_parent"
android:layout_height="@dimen/buttonHeight"
android:background="@drawable/transparent_ripple"
android:checkMark="@drawable/checkline"
android:checked="true"
android:gravity="left|center_vertical"
android:text="CheckedTextView"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<CheckBox
android:id="@+id/p2Checkbox5"
android:layout_width="match_parent"
android:layout_height="@dimen/buttonHeight"
android:background="@drawable/transparent_ripple"
android:checked="true"
android:gravity="center_vertical|end"
android:text="CheckBox"
android:textColor="@android:color/white"
android:textSize="@dimen/buttonTextSize" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/white" />
<ToggleButton
android:id="@+id/p2ToggleButton1"
android:layout_width="match_parent"
android:layout_height="@dimen/buttonHeight"
android:background="@drawable/transparent_ripple"
android:checked="true"
android:drawableRight="@drawable/checkline"
android:gravity="center_vertical|left"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textOff="ToggleButtonOff"
android:textOn="ToggleButtonOn"
android:textSize="@dimen/buttonTextSize" />
<ToggleButton
android:id="@+id/p2ToggleButton2"
android:layout_width="match_parent"
android:layout_height="@dimen/buttonHeight"
android:background="@drawable/transparent_ripple"
android:checked="true"
android:drawableRight="@drawable/btn_check_material_anim"
android:gravity="center_vertical|left"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textOff="ToggleBtnnAnimOff"
android:textOn="ToggleBtnnAnimOn"
android:textSize="@dimen/buttonTextSize" />
नमूना चेकलाइन। Xml (ड्रा करने योग्य में, ड्रॉबल-वी 21 में एनिमेटेड संस्करण के लिए लिंक देखें)
पारदर्शी पारदर्शी_रीपल .xml (ड्रॉबल-वी 21 में)
<!-- Limit ripple to view object, can also use shape such as oval -->
<item android:id="@android:id/mask" android:drawable="@android:color/white" />
<item>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:enterFadeDuration="200"
android:exitFadeDuration="200">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#80c0c000" />
</shape>
</item>
</selector>
</item>
नमूना पारदर्शी_रिप्पल। Xml (ड्रा करने योग्य में, केवल उपलब्ध रिपल को हाइलाइट करें
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#80c0c000" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
यदि CheckBox
आप का उपयोग करना अनिवार्य नहीं है, तो आप Switch
इसके बजाय बस का उपयोग कर सकते हैं । एक स्विच डिफ़ॉल्ट रूप से पाठ को बाईं ओर दिखाता है।
आप यह भी उपयोग कर सकते हैं,
<CheckBox
android:layout_width="match_parent"
android:layout_height="@dimen/button_height_35"
android:text="@string/english"
android:checked="true"
android:paddingEnd="@dimen/padding_5"
android:paddingStart="@dimen/padding_5"
android:layoutDirection="rtl"
android:drawablePadding="@dimen/padding_5"
android:drawableEnd="@drawable/ic_english"
style="@style/TextStyleSemiBold"
android:textSize="@dimen/text_15"
android:button="@drawable/language_selector"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/location_permissions"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="@android:color/black" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<CheckBox
android:id="@+id/location_permission_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="8dp"
android:onClick="onLocationPermissionClicked" />
</RelativeLayout>
</LinearLayout>