উত্তর:
আপনি একটি স্টাইল দিয়ে করতে পারেন, তবে আপনাকে এটি মূল থিম ঘোষণার সাথে যুক্ত করতে হবে।
<resources>
<!-- Base application theme. -->
<style name="Your.Theme" parent="@android:style/Theme.Holo">
<!-- Pointer to Overflow style ***MUST*** go here or it will not work -->
<item name="android:actionOverflowButtonStyle">@style/OverFlow</item>
</style>
<!-- Styles -->
<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_overflow</item>
</style>
</resources>
আপনি এটিকে পরিবর্তনশীলও পরিবর্তন করতে পারেন, যা আমি এখানে বিস্তারিতভাবে যাচ্ছি:
প্রোগ্রামেটিকভাবে অ্যান্ড্রয়েড ওভারফ্লো মেনু আইকন পরিবর্তন করা
parent="Widget.Sherlock.ActionButton.Overflow"
parent="@style/Widget.AppCompat.ActionButton.Overflow"
জন্য, আমার পক্ষে কাজ করে বলে মনে হচ্ছে।
যারা এটি কাজ করতে পারেন না তাদের জন্য "অ্যান্ড্রয়েড:" নামস্থান ছাড়াই এই চেষ্টা করুন।
<item name="actionOverflowButtonStyle">@style/OverFlow</item>
আপনার কাস্টম ওভারফ্লো আইকনটি স্টাইল.এক্সএমএল এ অ্যাকশনবারে পরিবর্তন করুন।
<resources>
<!-- Base application theme. -->
<style name=“MyTheme" parent="@android:style/Theme.Holo">
<!-- Pointer to Overflow style DONT forget! -->
<item name="android:actionOverflowButtonStyle">@style/MyOverFlow</item>
</style>
<!-- Styles -->
<style name="MyOverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/ic_your_action_overflow</item>
</style>
</resources>
AndroidManLive.xML এর অ্যাপ্লিকেশন ট্যাগে কাস্টম থিম "মাই থিম" রাখুন
<application
android:name="com.example.android.MainApp"
android:theme="@style/AppTheme">
</application>
আনন্দ কর.@.@
আমি যা করার চেষ্টা করেছি তা বিবেচনা না styles.xml
করেই সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। শেষ পর্যন্ত, আপনার যদি অ্যাপকম্প্যাট 23+ থাকে, যা আপনার উচিত উচিত, এটি আসল উপায় যা আসলে কাজ করে:
toolbar.setOverflowIcon(drawable);
@ অ্যাডিনালের উত্তরটি সঠিক (সুতরাং এটির সম্প্রসারণের জন্য এটি কেবল একটি সম্প্রদায়ের উইকির ব্যাখ্যা)।
একটি মন্তব্যে পরামর্শ দেওয়া হয়েছে যে এটি কীভাবে করবেন সে সম্পর্কে ভুল বোঝাবুঝি হতে পারে, সুতরাং আমার উত্তর কীভাবে ওভারফ্লো আইকন চিত্রটি ওভাররাইড করা যায় তার একটি অন্য উদাহরণ।
নীচের কোডটি এডিটি নমুনা নতুন অ্যান্ড্রয়েড প্রকল্পের টেম্পলেট শৈলীর উপর ভিত্তি করে। কোডটি ফোল্ডারে styles.xml
ফাইল থেকে আসে res/values
।
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
</style>
<style name="OverflowMenuButton" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/ic_menu_moreoverflow</item>
</style>
এই উপরের কোডটি যা করে তা হ'ল নামযুক্ত আপনার যা কিছু আঁকতে পারে তার সাথে ডিফল্ট ওভারফ্লো আইকনটি প্রতিস্থাপন করা ic_menu_moreoverflow
। যদি আপনি এটির পরীক্ষা করার দ্রুত উপায় চান তবে আপনার অ্যাপ্লিকেশনটির লঞ্চার আইকন ফাইলের নামটি ব্যবহার করুন, এটি এটি কীভাবে কাজ করে তা সুস্পষ্ট করে তুলবে।
ActionBar
স্টাইলিং বোঝার চেষ্টা করার সময় ব্যবহার করার জন্য একটি দরকারী সংস্থান হ'ল:
সেখানে আপনি আপনার ওভারফ্লো আইকনটির জন্য নির্দিষ্ট রঙগুলি নির্দিষ্ট করতে পারবেন এবং জিপ ফাইলটি styles.xml
আপনার জন্য সঠিক ফাইলটি অন্তর্ভুক্ত করবে।
ওভারফ্লো আইকন রঙ পরিবর্তনের জন্য, আপনি কেবল যুক্ত করতে পারেন
toolbar.setOverflowicon(getDrawable(R.id.whiteIcon));
অথবা
toolbar.setOverflowicon(getDrawable(R.id.redIcon));
এটি আইকনটি পরিবর্তন করবে, আপনি যে রঙ চান তা চয়ন করুন এবং ওভারফ্লিকন হিসাবে সেট করবেন।
দীর্ঘ অনুসন্ধানের পরে আমার কী নির্দেশনা পেয়েছিল তা অনুসরণ করতে হবে:
থিম.এক্সএমএলে থিমের মধ্যে আইটেমটি যুক্ত করুন:
<item name="android:actionBarWidgetTheme">@style/widgetStyle</item>
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
শৈলীতে আইকনটি একই ফাইলটিতে যুক্ত করুন মানে আমি থিম.এক্সএমএল:
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/icon_menu</item>
</style>
আপনি যে কাস্টম আইকনটি পরিবর্তন করতে চান তা দেখুন
এটা আমার জন্য কাজ করেছে