আমি কীভাবে অ্যান্ড্রয়েড অ্যাকশনবারের শিরোনাম এবং আইকনটি পরিবর্তন করব


225

আমি অ্যান্ড্রয়েডের অ্যাকশনবারে কিছু করার চেষ্টা করছি।

আমি ইতিমধ্যে অ্যাকশন বারের ডানদিকে নতুন আইটেম যুক্ত করেছি।

আমি কীভাবে অ্যাকশন বারের বাম দিক পরিবর্তন করতে পারি? আমি আইকন এবং পাঠ্যটি পরিবর্তন করতে চাই এবং অন্যান্য পর্দার জন্য অ্যাকশন বারে একটি "পিছনে বোতাম" যুক্ত করতে চাই

অ্যান্ড্রয়েড অ্যাকশন বার

উত্তর:


514

এটি সম্পাদন করা খুব সহজ

আপনি যদি কোডটিতে এটি পরিবর্তন করতে চান তবে কল করুন:

setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);

আপনি যা খুশি তাই মান নির্ধারণ করুন।

বা, অ্যান্ড্রয়েড ম্যানিফেস্ট এক্সএমএল ফাইলটিতে:

<activity android:name=".MyActivity" 
       android:icon="@drawable/my_icon" 
       android:label="My new title" />  

আপনার অ্যাপ্লিকেশনটিতে পিছনের বোতামটি সক্ষম করতে:

 getActionBar().setHomeButtonEnabled(true);
 getActionBar().setDisplayHomeAsUpEnabled(true);

কোডটি আপনার সমস্তটিতে রাখা উচিত onCreateযাতে লেবেল / আইকন পরিবর্তন করা ব্যবহারকারীর কাছে স্বচ্ছ হয় তবে বাস্তবে এটি ক্রিয়াকলাপের জীবনকালীন সময়ে যে কোনও জায়গায় বলা যেতে পারে।


23
আপনি যদি অ্যাকশনবারটি যুক্ত করতে সমর্থন লাইব্রেরি ব্যবহার করছেন তবে getSupportActionBarপরিবর্তে ব্যবহার করুন getActionBar
রিক পাস্তুর

3
getActionBar().setHomeButtonEnabled(true)14 বা ততোধিক স্তরের এপিআই স্তরের ব্যবহার করে, আপনি যদি getActionBar().setDisplayHomeAsUpEnabled(true)
পুরনোগুলিতে

3
getSupportActionBar () .DisplayShowTitleEn सक्षम (সত্য); সেটটাইটেলের আগে ("123");
হোসে ম্যানুয়েল অ্যাবারকা রদ্রিগেজ

আপনি যদি getActionBar ()। SetIcon (R.drawable.my_icon) কোডটি ব্যবহার করেন; আপনি এটি ক্লিকযোগ্য করতে পারেন?
Skitty

1
@ জোসেমেনুয়েলআবারকা রড্র্যাগিউজ আপনাকে ধন্যবাদ, এটিই আমার জন্য অনুপস্থিত ছিল। কোটলিনে: supportActionBar?.setDisplayShowTitleEnabled(true)তখন supportActionBar?.title = "your title"। এবং এটা করা হয়েছে onResume, নেই onCreate, যখন সঙ্গে কার্যকলাপ তৈরি startActivity
এরিক আয়া

18

আপনার সমস্ত অ্যাকশন বার দ্বারা একটি আইকনকে ব্যবহারযোগ্য করে তোলার জন্য আপনি এটি আপনার অ্যান্ড্রয়েড ম্যানিফেস্টে করতে পারেন।

<application
    android:logo="@drawable/Image">

    ...

</application>

1
ধন্যবাদ- আমি অ্যাপ্লিকেশনের বাইরে ("সমস্ত অ্যাপ্লিকেশনগুলিতে দেখা যায়") এবং অ্যাকশন বারের বামে অন্য আইকন চেয়েছিলাম। এবং এটি কাজ করে। ম্যানিফেস্ট ফাইলটিতে এখনও অ্যান্ড্রয়েড রয়েছে: আইকন = "@ অঙ্কনযোগ্য / আইসি_লাঞ্চার"
ফ্লববকা ২

2
pre-loadsআইকনটি হ'ল এটি সঠিক উপায়ে , প্রোগ্রামগতভাবে সেটিংস আইকনটি ধীর!
মুহাম্মদ বাবর

11

আপনাকে কেবল এই 3 লাইন কোড যুক্ত করতে হবে। আপনার নিজস্ব আইকন দিয়ে আইকনটি প্রতিস্থাপন করুন। আপনি যদি আইকন তৈরি করতে চান তবে এটি ব্যবহার করুন

getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);

11

অ্যান্ড্রয়েড 5.0 উপাদানের নকশার নির্দেশিকা অ্যাকশনবারে আইকন ব্যবহারকে নিরুৎসাহিত করে

এটি সক্ষম করতে নিম্নলিখিত কোড যুক্ত করুন

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

ক্রেডিট এই নিবন্ধ লেখক যায়


9

আপনি যদি অ্যাকশন বারের শিরোনাম পরিবর্তন করতে চান তবে আপনার ক্রিয়াকলাপের অনক্রিট () এ নিম্নলিখিত 1 লাইন কোডটি দিন

getActionBar().setTitle("Test");

আমি কীভাবে এই শিরোনাম পরিবর্তনটি প্রাণবন্ত করতে পারি?
শ্রীকর রেড্ডি

7

আপনার নিজের আঁকতে সক্ষম ফোল্ডারগুলিতে আপনি যে আইকনটি চান তা যুক্ত করে আপনার আইকনটি পরিবর্তন করতে পারেন, তারপরে আপনার অ্যান্ড্রয়েডম্যানিয়েস্ট.এক্সএমএল ফাইলটিতে এই লাইনটি পরিবর্তন করুন:

android:icon="@drawable/ic_launcher"

আপনার আইকনের নামটি সেখানে যা আছে তা মেলাতে। বা যদি আপনার আইকনটি আইকন ল্যাঞ্চার হিসাবে থাকে তবে তারা যদি একই আইকন থাকে। এটি যা বলে, আপনার রেজ / মান / স্ট্রিংস.এক্সএমএল ফাইলের সাথে যে কোনও স্ট্রিং মিলে যায় বা যুক্ত করুন। তারপরে, আপনার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলটিতে আবার এই লাইনটি পরিবর্তন করুন:

android:label="@string/app_name"

আপনার কাছে যে স্ট্রিং রয়েছে তার কাছে। সামগ্রিকভাবে অ্যাপ্লিকেশনটির জন্য এবং আপনার যে কোনও ক্রিয়াকলাপের জন্য আপনাকে এটি করতে হবে তবে লাইনগুলি একই।

আশাকরি এটা সাহায্য করবে.


android:iconক্রিয়াকলাপে এটির আকার (ডিপি) হওয়া উচিত ?
চুডলিচেক


5

তার জন্য, আপনি এটি 2 উপায়ে করতে পারেন: এক্সএমএল বা জাভা। এখানে দেখুন: অ্যাকশন বারের পাঠ্য কীভাবে পরিবর্তন করবেন

তাই:

এক্সএমএল:

<activity android:name=".Hello_World"
              android:label="This is the Hello World Application">
</activity>

জাভা:

public class TitleBar extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

       setContentView(R.layout.main);


       if ( customTitleSupported ) {
           getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
           }

       final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
       if ( myTitleText != null ) {
           myTitleText.setText("NEW TITLE");

           // user can also set color using "Color" and then "Color value constant"
          // myTitleText.setBackgroundColor(Color.GREEN);
       }
 }
}

2
কোড থেকে এটি করতে, আপনার কল করা উচিত setTitle(CharSequence text)বা setTitle(int titleRes)requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)আপনি নিজের কাস্টম ভিউয়ের সাথে পুরো শিরোনাম বারটি প্রতিস্থাপনের পরিকল্পনা না করে ব্যবহার করবেন না ।
করাকুরি


2

আমি নিম্নলিখিত কলটি ভিতরে ব্যবহার করেছি onNavigationItemSelected:

HomeActivity.this.setTitle(item.getTitle());


1

এই কাজটি আমার জন্য:

getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.mipmap.baseline_dehaze_white_24);

0

অ্যাকশন বারের শিরোনাম, ডিফল্টরূপে বর্তমান ক্রিয়াকলাপের লেবেলটি ব্যবহার করবে তবে আপনি এটি প্রোগ্রামের মাধ্যমে সেটও করতে পারবেন ActionBar.setTitle()

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

অবশেষে, আইকনটি পরিবর্তন করতে, গাইডটি এটিও কভার করে। সংক্ষেপে, অ্যাকশন বারটি যদি android:iconআপনার ম্যানিফেস্টের applicationবা activityউপাদানগুলিতে সরবরাহিত চিত্রটি প্রদর্শিত হয় তবে যদি তা থাকে। সাধারণ অনুশীলনটি হ'ল নামক একটি অ্যাপ্লিকেশন আইকন তৈরি করুন (আপনার প্রয়োজন সমস্ত ঘনত্বের মধ্যে) নামটি তৈরি করুন ic_launcher.pngএবং এটি আপনার drawable-*ডিরেক্টরিতে স্থাপন করুন।


0

আমি non-static method setTitle(CharSequence) cannot be referenced from a static contextত্রুটি পেয়েছি কারণ আমি setTitle()স্থিতিশীল স্থানধারক শ্রেণীর ক্লাসে ব্যবহার করেছি । আমি এটি ব্যবহার করে সমাধান করেছিgetActivity().getActionBar().setTitle("new title");


0

আপনি অ্যাকশন বারের শিরোনামের নাম এবং অ্যান্ড্রয়েড লিখতে চান তা নির্দিষ্ট ক্রিয়াকলাপে প্রকাশ করতে যান: লেবেল = "শিরোনামের নাম"


0

AndroidManLive.xML ফাইলটিতে যান ml এই <application>ট্যাগটি আছে আপনি যদি একটি অ্যাট্রিবিউট দেখতে পারেন

android:label="@string/app_name"

এখন res> মান> স্ট্রিং.এক্সএমএল এ যান

পরিবর্তন

<string name="app_name">MainActivity</string> 

প্রতি

<string name="app_name">Your Desired Name</string>

উদাহরণ

Andro আইডি

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SubmitForm">

        </activity>
    </application>

strings.xml

<resources>
    <string name="app_name">Your Desired Name</string>
    <string name="action_settings">Settings</string>
</resources>

0

আপনি নিম্নলিখিত হিসাবে করতে পারেন:

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main2)
        setSupportActionBar(toolbar)
        setTitle("Activity 2")
    }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.