ডান পাশে অ্যান্ড্রয়েড চেকবক্সটি কীভাবে প্রদর্শিত করবেন?


146

ডিফল্ট অ্যান্ড্রয়েড চেকবক্সটি ডানদিকে পাঠ্য এবং বামে চেকবক্সটি দেখায়
আমি বামে পাঠ্য সহ ডানদিকে চেকবক্সটি দেখাতে চাই

আমি কীভাবে এটি অর্জন করব?

উত্তর:


41

স্টাইলিং সহ আমি কোনও উপায় ভাবতে পারি না, তবে আপনি কেবলমাত্র চেকবক্সের পাঠ্যকে কিছুতেই সেট করতে পারেন এবং আপনার পছন্দসই পাঠ্য সহ চেকবক্সের বামে একটি টেক্সটভিউ রেখেছিলেন।


আমার এ সম্পর্কে একটি প্রশ্ন রয়েছে: আপনি যখন বিন্যাসে ক্লিক করেন, এটি পুরো সারিটি নির্বাচিত কিনা তা (খুব অল্প সময়ের জন্য) দেখানো উচিত। আপনি কীভাবে এটি অনুকরণ করতে পারেন যে এটি একটি স্থানীয় প্রভাব?
অ্যান্ড্রয়েড বিকাশকারী

কিছু মনে করবেন না - আমি বিন্যাসে একটি নির্বাচক সেট করেছি এবং এখন ঠিক আছে।
অ্যান্ড্রয়েড বিকাশকারী

@ অ্যান্ড্রয়েড ডেভেলপার দয়া করে আপনি নির্বাচক সমাধান পোস্ট করতে পারেন?
ফুয়াদ ওহাবী

1
@FouadWahabi আপনি "মাঝামাঝি / অঙ্কনযোগ্য" এ একটি XML অঙ্কনযোগ্য, যেমন তৈরি করতে পারেন: stackoverflow.com/a/2038086 , এবং দেখুন / লেআউট সুন্দর ব্যাকগ্রাউন্ড সেট এই অঙ্কনযোগ্য ফাইল যাবে। আপনার এটিকে ক্লিকযোগ্যও করতে হবে। আমি মনে করি এটি সম্পর্কে একটি গুগল আইও বক্তৃতাও দেখেছি। নিশ্চিত না. তাদের ভিডিও চেক করার পরামর্শ দিন।
অ্যান্ড্রয়েড বিকাশকারী

1
@ ফুয়াদ ওয়াহাবি ওয়েল আপনি নিজের পছন্দমতো লেআউট ক্লাসটি প্রসারিত করতে পারেন এবং নিজের দ্বারা এই যুক্তি যুক্ত করতে পারেন। আপনি সমস্ত শিশু দর্শন এবং তাদের রাজ্যে টগলিং করে দেখতে পারেন। আপনাকে সহায়তা করতে আপনি এই লিঙ্কগুলি ব্যবহার করতে পারেন: বিকাশকারী / অ্যান্ড্রয়েড . com / sams / CustomChoiceList / src/ … , অ্যানটোইন-মারলে . com / blog / 2013 / 07/17/… । একটি ক্লিকলিস্টনার যুক্ত করুন, এবং চেকিংটি টগল করুন এবং "সেটচেকড" ভিতরে সেই অনুযায়ী শিশুদের দর্শনগুলির স্থিতি সেট করে তবে তারা চেকযোগ্যকে কার্যকর করে তবেই।
অ্যান্ড্রয়েড বিকাশকারী

362

আমি মনে করি এই প্রশ্নের উত্তর দিতে দেরি হয়ে গেছে তবে আসলে আপনার লক্ষ্য অর্জনের একটি উপায় আছে। আপনার চেকবক্সে আপনাকে কেবল নিম্নলিখিত লাইনটি যুক্ত করতে হবে:

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);

5
এবং একটি চেকবক্সের জন্য, আপনি ব্যবহার করতে পারেন android:drawableRight="?android:attr/listChoiceIndicatorMultiple"। আমি মনে করি এখন পর্যন্ত ডানদিকের একটি চেকবক্সের জন্য এটি সেরা সমাধান।
পিয়েরে-লক পাওর

7
দয়া করে নোট করুন যে অ্যান্ড্রয়েড 5.0 এসডিকে আপনাকে আরটিএল ডিভাইস সম্পর্কে একটি সতর্কতা দেখাবে। এটা দূরে যেতে করতে, শুধু যোগ android:drawableEndছাড়াও android:drawableRight(একই মান সহ)।
কোয়ান্টিন এস

6
সমস্যা সমাধানের জন্য এই সমাধানটি বেশ ভাল কাজ করেছে। অ্যান্ড্রয়েড ৫ এ ++ তে, যদিও স্ট্যান্ডার্ড উইজেটে চিটের চারপাশে একটি ছোট্ট অঞ্চলে এটির রিপল আঁকতে সক্ষম রয়েছে, এই পরিবর্তিত উইজেটটি রিপলটিকে উইজেটের সীমানা ছাড়িয়ে ভালভাবে প্রসারিত করতে দেয়। যদি এই কৌশলটি ব্যবহার করা হয়, তবে আমি একটি আয়তক্ষেত্রাকার মুখোশ সহ একটি লম্বা আঁকতে ব্যবহার করতে পটভূমিটি সেট করার পরামর্শ দিচ্ছি।
জাস্টিন পোলার্ড

2
অ্যান্ড্রয়েড এক ডজন ভিউ অবজেক্ট সরবরাহ করে, এগুলির মধ্যে একটি অ্যান্ড্রয়েড ড্রয়েবল বা কাস্টম আঁকতে সক্ষম হিসাবে আঁকতে পরিবর্তন করা যেতে পারে। যদি আপনি অবজেক্টে রিপল ইফেক্ট (5.0+) চান তবে কেবল এর ব্যাকগ্রাউন্ডটি একটি এক্সএমএল অঙ্কনযোগ্যকে সেট করুন যা রিপলকে সক্ষম করে। নীচের লিঙ্কটিতে ডান ড্রাবযোগ্য সেট সহ বেশ কয়েকটি নমুনা দেখার বস্তু, চেকডটেক্সটভিউ, চেকবক্স, টগলবটন ইত্যাদি দেখায়। landenlabs.com/android/uicompাংশ
uicomp

6
এটি পাঠ্যের কেন্দ্রবিন্দুতে একটি বৃত্তাকার
রিপল

122

আপনি করতে পারেন

<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"

3
হকি এবং একই সাথে মার্জিত। চিয়ার্স!
রোমান সামোইলেনকো

ভাল ট্রিক মানুষ! অভিকর্ষজটি ভুলে যাবেন না: অ্যান্ড্রয়েড: গ্র্যাভিটি = "ডান | কেন্দ্র" প্রত্যাশিত মিররিংয়ের প্রভাব পেতে।
টোব্লিগ

3
এটি সঠিক উপায় নয়, কারণ আপনার ডিভাইসটি যদি আরটিএল ভাষাতে থাকে তবে এটি সঠিক দেখাচ্ছে না।
মার্টিন মার্কনকিনি

cb.setLayoutDirection (CheckBox.LAYOUT_DIRECTION_RTL);
পাখিজিস

1
android:gravity="end|center_vertical"বামদিকে পাঠ্য প্রদর্শন তৈরি করতে সেট করা দরকার কারণ লেআউটটি এখনই শুরু হয়।
সার্জ

52

আপনি যোগ করতে পারেন android:layoutDirection="rtl"তবে এটি কেবল এপিআই 17 এর সাথে উপলব্ধ।


19

কেবল এটি অনুলিপি করুন:

    <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>

শুভ কোডিং! :)


14

চেকবক্স পাঠ্যটি বাম দিকে প্রান্তিক নাও হতে পারে

android:button="@null"
android:drawableRight="@android:drawable/btn_radio"

কিছু ডিভাইসে সমস্যা এড়াতে প্রতিস্থাপন হিসাবে চেকডেক্সটভিউ ব্যবহার করতে পারেন ,

<CheckedTextView
    ...
    android:checkMark="@android:drawable/btn_radio" />

এবং এই লিঙ্কটি সহায়ক হবে: পাঠ্য বামে, ডানদিকের চেকবক্সটি প্রান্তিক করুন


এটি একটি রেডিও বোতাম। উপাদান চেকবক্সের জন্য কীভাবে দয়া করে?
মনিকা অ্যাসপিরস লাববাও

1
একটি চেকবক্স ব্যবহারের জন্যandroid:checkMark="?android:attr/listChoiceIndicatorMultiple"
ফিলিপ

রেডিওবটন ব্যবহারের জন্যandroid:checkMark="?android:attr/listChoiceIndicatorSingle"
ফিলিপ

13
    <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" />`

এটি পাঠ্যটিকে ডান-প্রান্তিককরণও করে তোলে তাই যদি চেকবক্সের ভিউ প্যারেন্ট প্রস্থের সাথে মিলে যায় তবে এটি অদ্ভুত দেখাবে।
ডেভিড রেক্টর

6

@The Berga প্রস্তাবজব আপনি যোগ করতে পারেন হিসাবে android:layoutDirection="rtl"কিন্তু এটি এপিআই 17. একমাত্র উপলব্ধ
গতিশীল বাস্তবায়নের জন্য, এখানে এটা যায়

chkBox.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);


3

হাজির ইমপুট থেকেও, এই ইস্যুটির জন্য চেকবক্সের এক্সএমএল কনফিগারেশন অ্যান্ড্রয়েডে প্যাডিং দরকার: প্যাডিং লেফট = "0 ডিপি", এটি চেকবক্সের বাম পাশে খালি স্থান এড়াতে।


3

এই পরীক্ষার জন্য আরও একটি উত্তর যুক্ত করা হচ্ছে যা চেকডটেক্সটভিউ ব্যবহার করে যদি কেউ যদি প্রোগ্রামারিকভাবে এটি চেষ্টা করে। এটিতে চেকবক্সের জন্য কাস্টম চিত্রগুলি ব্যবহার করার বিকল্প রয়েছে। এবং একক দৃশ্যে করা যেতে পারে

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"/>

0

নীচের লিঙ্কটি দেখায় যে কীভাবে ড্রেইনযোগ্য অ্যান্ড্রয়েড ভিউ অবজেক্টসকে ডানদিকে অ্যানিমেটেড চেকবক্স সহ রেন্ডার করতে হবে ডানটি আঁকতে সক্ষম সেট করে।

একটি রিপল প্রভাব পেতে পটভূমি সেট করুন।

[ডান এবং বাম দিকে উদাহরণস্বরূপ চেকবক্সের সাথে ওয়েবসাইটের লিঙ্ক করুন]] [1] http://landenlabs.com/android/uicompাংশ/uicompাংশ.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" />

নমুনা চেকলাইন.এক্সএমএল (অঙ্কনযোগ্যতে, অঙ্কনযোগ্য-ভি 21-এ অ্যানিমেটেড সংস্করণের জন্য লিঙ্কটি দেখুন)

নমুনা স্বচ্ছ_গ্রাহী.এক্সএমএল (অঙ্কনযোগ্য-ভি 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>


নমুনা স্বচ্ছ_গ্রাহী। এক্সএমএল (অঙ্কনযোগ্য, হাইলাইট কেবল কোনও রিপল উপলব্ধ নয়

<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>


0

এটি ব্যবহার বাধ্যতামূলক না হলে CheckBoxআপনি কেবল Switchপরিবর্তে এটি ব্যবহার করতে পারেন । একটি সুইচ ডিফল্টরূপে বাম পাশে লেখাটি দেখায়।


0

আপনি এটি ব্যবহার করতে পারেন,

<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"/>

কিছুটা বিশদ বা আরও অধ্যয়নের জন্য একটি রেফারেন্স অন্তর্ভুক্ত করা সর্বদা অতিরিক্ত ক্রেডিট। আপনার উত্তরগুলি আরও দরকারী করে তোলে
mw509

-1
<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>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.