কোনও অ্যান্ড্রয়েড রেডিও বোতাম গোষ্ঠীতে রেডিও বোতামের আইকনটি পরিবর্তন করা কি সম্ভব?


95

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

রেডিও বোতাম আইকন পরিবর্তন করা সম্ভব? উদাহরণস্বরূপ, প্রতিটি সারির জন্য একটি কাস্টম লেআউট তৈরি করা সম্ভব এবং সেই বিন্যাসে আমার নিজস্ব আইকনটি রেফারেন্স করা এবং ফন্ট এট আল পরিবর্তন করা সম্ভব।

উত্তর:


168

হ্যাঁ এটি সম্ভব রেডিও / মান / স্টাইল.এক্সএমএলে আপনাকে রেডিও বোতামগুলির জন্য নিজের স্টাইলটি নির্ধারণ করতে হবে:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme" parent="android:Theme">
   <item name="android:radioButtonStyle">@style/RadioButton</item>
</style>
<style name="RadioButton" parent="@android:style/Widget.CompoundButton.RadioButton">
   <item name="android:button">@drawable/radio</item>
</style>
</resources>

এখানে 'রেডিও' একটি রাষ্ট্রীয় আঁকারযোগ্য, রেডিও.এক্সএমএল হওয়া উচিত:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_window_focused="false"
        android:drawable="@drawable/radio_hover" />
    <item android:state_checked="false" android:state_window_focused="false"
        android:drawable="@drawable/radio_normal" />
    <item android:state_checked="true" android:state_pressed="true"
        android:drawable="@drawable/radio_active" />
    <item android:state_checked="false" android:state_pressed="true"
        android:drawable="@drawable/radio_active" />
    <item android:state_checked="true" android:state_focused="true"
        android:drawable="@drawable/radio_hover" />
    <item android:state_checked="false" android:state_focused="true"
        android:drawable="@drawable/radio_normal_off" />
    <item android:state_checked="false" android:drawable="@drawable/radio_normal" />
    <item android:state_checked="true" android:drawable="@drawable/radio_hover" />
    </selector>

তারপরে কাস্টম থিমটি পুরো অ্যাপ্লিকেশনটিতে বা আপনার পছন্দের ক্রিয়াকলাপগুলিতে প্রয়োগ করুন।

থিম এবং শৈলী সম্পর্কে আরও তথ্যের জন্য http://brainflush.wordpress.com/2009/03/15/ বোঝাবু- এবং Android- থিমগুলি- এবং- স্টাইলস / দেখুন এটি ভাল গাইড।


13
আপনি এটির জন্য পৃথক কাস্টম শৈলীর সংজ্ঞা না দিয়ে কেবল অ্যান্ড্রয়েড: বোতামের সম্পত্তি রেডিও বোতামে সেট করতে পারেন।
ইয়োনি সাম্লান

7
সত্য, তবে এটি খুব ভাল অনুশীলন নয়, যেহেতু আপনার কাছে সাধারণত কেবলমাত্র একটি রেডিও বোতাম থাকে।
কনস্টান্টিন বুড়ভ

@ কনস্টান্টিন বুরোভ আমি কী 9 প্যাচের চিত্র ব্যবহার করছি?
হেডস

@ কনস্টান্টিন বুরোভ আপনি যদি প্রোগ্রামগুলি বাটন যুক্ত না করেন তবে এক্ষেত্রে দুর্দান্ত এটি :)
কর্নহোলিও

4
সমর্থনের জন্য থিমটি <শৈলীর নাম = "কাস্টমথেম" প্যারেন্ট = "অ্যান্ড্রয়েড: থিম"> <আইটেম নাম = "অ্যান্ড্রয়েড: রেডিওবটন স্টাইল"> @ শৈলী / রেডিওবটন </item> <আইটেমের নাম = "রেডিওবটন স্টাইল"> @ শৈলী ব্যবহার করতে পারে / রেডিওবাটন </item> </style>
ধ্রুব মেভাদা

30

আপনি স্বাভাবিক বোতামের মতো রেডিওবটনগুলিতে কাস্টম চিত্র রাখতে পারেন। এর জন্য অঙ্কনযোগ্য ফোল্ডারে যেমন একটি এক্সএমএল ফাইল তৈরি করুন

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/sub_screens_aus_hl" 
    android:state_pressed="true"/>  
<item android:drawable="@drawable/sub_screens_aus" 
    android:state_checked="true"/>  
<item android:drawable="@drawable/sub_screens_aus" 
    android:state_focused="true" />
<item android:drawable="@drawable/sub_screens_aus_dis" />  
</selector> 

এখানে আপনি রেডিওবুটনের জন্য 3 টি পৃথক চিত্র ব্যবহার করতে পারেন

এবং এই ফাইলটি রেডিওবটনগুলিতে ব্যবহার করুন:

android:button="@drawable/aus"
android:layout_height="120dp"
android:layout_width="wrap_content" 

13

কেবলমাত্র রেডিও বোতামটি পরিবর্তন করার সহজ উপায়টি কেবল অঙ্কনীয় ডান জন্য নির্বাচক সেট করা হয়

<RadioButton
    ...
    android:button="@null"
    android:checked="false"
    android:drawableRight="@drawable/radio_button_selector" />

এবং নির্বাচকটি হ'ল:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_checkbox_checked" android:state_checked="true" />
    <item android:drawable="@drawable/ic_checkbox_unchecked" android:state_checked="false" /></selector>

এখানেই শেষ


4
সর্বোত্তম সমাধান, আমার ক্ষেত্রে আমি 'ড্রয়েবল রাইট' কে 'বোতামে' পরিবর্তন করে নির্বাচক এক্সএমএল
এফ -1

এটি সেরা সমাধান। আমি এই পদ্ধতিতে ব্যবহার করেছিলাম এবং এটি দুর্দান্ত কাজ করে B তবে অ্যান্ডয়েডএক্স অ্যান্ড্রয়েডে স্থানান্তরিত হওয়ার পরে: বোতাম = "@ নাল" কাজ করে না এবং আমরা প্রতিটি আইটেমের জন্য দুটি রেডিও বোতাম আইকন দেখতে পাই! ।
maniaq


0

এখানে সম্ভবত একটি দ্রুত পদ্ধতির,

এখানে চিত্র বর্ণনা লিখুন

উপরে দুটি আইকন দেখানো হয়েছে, আপনার কাছে RadioGroupএরকম কিছু থাকবে

এখানে চিত্র বর্ণনা লিখুন

  • RadioGroupএর দিকনির্দেশকে অনুভূমিকভাবে পরিবর্তন করুন
  • প্রতিটি RadioButtonসম্পত্তি হিসাবে, Button আন্ডার জন্য আইকন দেওয়ার চেষ্টা করুন CompoundButton,
  • প্যাডিং এবং আকার সামঞ্জস্য করুন
  • এবং চেক করা হলে পটভূমি বৈশিষ্ট্য সেট করুন।

0

আপনি যদি প্রোগ্রাম থেকে এটি করতে চান তবে

checkBoxOrRadioButton.setButtonDrawable(null);
checkBoxOrRadioButton.setBackgroundResource(R.drawable.resource_name);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.