আমি ডিফল্টকে ওভাররাইড করার চেষ্টা করছি 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।