আমি ডিফল্টকে ওভাররাইড করার চেষ্টা করছি ToggleButton
উপস্থিতি । এখানে এক্সএমএল যা সংজ্ঞা দেয় ToggleButton
:
<ToggleButton android:id="@+id/FollowAndCenterButton"
android:layout_width="30px"
android:layout_height="30px"
android:textOn="" android:textOff="" android:layout_alignParentLeft="true"
android:layout_marginLeft="5px"
android:layout_marginTop="5px" android:background="@drawable/locate_me"/>
এখন, আমাদের কাছে দুটি 30 x 30 আইকন রয়েছে যা আমরা ক্লিক / অ-ক্লিকের স্থিতির জন্য ব্যবহার করতে চাই। এখনই আমাদের কাছে কোড রয়েছে যা প্রোগ্রামের ভিত্তিতে রাষ্ট্রের উপর নির্ভর করে ব্যাকগ্রাউন্ড আইকনটি পরিবর্তন করে:
centeredOnLocation.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (centeredOnLocation.isChecked()) {
centeredOnLocation.setBackgroundDrawable(getResources().getDrawable(R.drawable.locate_me_on));
} else {
centeredOnLocation.setBackgroundDrawable(getResources().getDrawable(R.drawable.locate_me));
}
}
});
অবশ্যই আমি এটি করার একটি আরও ভাল উপায় খুঁজছি। আমি ব্যাকগ্রাউন্ড চিত্রের জন্য একটি নির্বাচক তৈরি করার চেষ্টা করেছি, যা স্বয়ংক্রিয়ভাবে রাজ্যগুলির মধ্যে পরিবর্তন হবে:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/locate_me" /> <!-- default -->
<item android:state_checked="true"
android:drawable="@drawable/locate_me_on" /> <!-- pressed -->
<item android:state_checked="false"
android:drawable="@drawable/locate_me" /> <!-- unchecked -->
কিন্তু এই কাজ করে না; পড়া ToggleButton
এপিআই ( http://developer.android.com/reference/android/widget/ToggleButton.html ) , দেখা যাচ্ছে যে একমাত্র উত্তরাধিকার সূত্রে প্রাপ্ত এক্সএমএল বৈশিষ্ট্যগুলি
XML Attributes
Attribute Name Related Method Description
android:disabledAlpha The alpha to apply to the indicator when disabled.
android:textOff The text for the button when it is not checked.
android:textOn The text for the button when it is checked.
ক্লাস পদ্ধতি থাকা সত্ত্বেও অ্যান্ড্রয়েড: state_ চেক করা বৈশিষ্ট্য বলে মনে হয় না isChecked()
এবং setChecked()
।
সুতরাং, এক্সএমএলে আমি যা চাই তা করার কোনও উপায় আছে, বা আমি আমার অগোছালো কাজের সাথে আটকে আছি?
CompoundButton
বিমূর্ত!
CompoundButton
।