@ কুর্তিস নুসবাউম একটি বাস্তব উদাহরণ দিয়ে কেবল যা পূর্ণ করছেন।
আপডেট: যেমন @ রুডি-এস বলেছেন, নতুন অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি সহ (এপিআই 18), আমি দেখেছি তারা ইতিমধ্যে অ্যাকশনবারের জন্য বিল্ট-ইন সমর্থন করেছে (অ্যাকশনবারকম্প্যাট ক্লাস নামে পরিচিত)।
অ্যাকশনবারেরলক এবং অ্যাকশনবারের সামঞ্জস্যের মধ্যে ভিজ্যুয়াল পার্থক্য দেখানোর জন্য আমি দুটি সাধারণ অ্যাপ্লিকেশন তৈরি করেছি। তুলনামূলক চিত্রগুলি দেখুন:
মেনু বোতাম টিপলে এখন উপস্থিতি:
আপনি দেখতে পাচ্ছেন, চিত্রগুলি কেবল যা বলা হয়েছিল তা প্রয়োগ করে। অ্যাকশন বারের সামঞ্জস্যতা কেবলমাত্র আপনাকে অ্যাকশন বার দেয় কেবলমাত্র যদি আপনি চালিত ডিভাইসটি API স্তরের 3.0 বা তার বেশি হয়। শার্লক আরও সাধারণ হয়।
নীচে আপনি অ্যাপ্লিকেশন উত্স দেখতে পারেন।
মেনু এক্সএমএল ফাইলটি একই:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_1"
android:orderInCategory="100"
android:showAsAction="always"
android:title="@string/action1"/>
<item
android:id="@+id/action_2"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:title="@string/action2"/>
<item
android:id="@+id/action_3"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:title="@string/action3"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
সামঞ্জস্যের কার্যকলাপ:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
শার্লকের কার্যকলাপ:
public class MainActivity extends SherlockActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
getSupportMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
}
শার্লক অ্যাপে একটি অতিরিক্ত কনফিগারেশন প্রয়োজনীয় ছিল:
<style name="AppBaseTheme" parent="Theme.Sherlock.Light.DarkActionBar">
আপডেট: যেমন @ রুডি-এস বলেছেন, নতুন অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি সহ (এপিআই 18), আমি দেখেছি তারা ইতিমধ্যে অ্যাকশনবারের জন্য বিল্ট-ইন সমর্থন করেছে (অ্যাকশনবারকম্প্যাট ক্লাস নামে পরিচিত)।