एंड्रॉइड में एक्शन बार/टूलबार एलिवेशन (ऊंचाई) प्राप्त करना
यह ट्यूटोरियल दिखाता है कि getSupportActionBar().getElevation() का उपयोग करके एक्शन बार की एलिवेशन (Z-ऑर्डर/शैडो गहराई) कैसे प्राप्त करें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: लेआउट (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/text"
android:textSize="30sp"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
चरण 3: MainActivity कोड (java/MainActivity.java)
package com.example.myapplication;
import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
TextView textView;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) // API 21+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
if (getSupportActionBar() != null) {
// एलिवेशन प्राप्त करें (dp में)
float elevation = getSupportActionBar().getElevation();
textView.setText("एक्शन बार एलिवेशन: " + elevation + " dp");
} else {
textView.setText("एक्शन बार उपलब्ध नहीं");
}
}
}
एलिवेशन समझें
- एलिवेशन = Z-अक्ष पर ऊंचाई, शैडो गहराई निर्धारित करती है
- मटेरियल डिजाइन में डिफॉल्ट:
4dp(एक्शन बार),8dp(FAB),1-2dp(कार्ड) - एलिवेशन 0 = फ्लैट, कोई शैडो नहीं
- रनटाइम में बदल सकते हैं:
setElevation(float)
एलिवेशन सेट/बदलें
// एक्शन बार एलिवेशन सेट करें
getSupportActionBar().setElevation(8f); // 8dp
// टूलबार में
Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setElevation(8f);
// लेआउट XML में
<androidx.appcompat.widget.Toolbar
android:elevation="8dp" ... />
// स्टेटस बार एलिवेशन (सिस्टम UI)
// केवल विंडो फ्लैग्स/इनसेट्स के माध्यम से
स्टेटस बार vs एक्शन बार एलिवेशन
नोट: आर्टिकल शीर्षक "स्टेटस बार एलिवेशन" कहता है लेकिन कोड getSupportActionBar().getElevation() उपयोग करता है जो एक्शन बार की एलिवेशन देता है। स्टेटस बार एलिवेशन सीधे प्राप्त नहीं की जा सकती (सिस्टम-नियंत्रित)।
विंडो एलिवेशन (एंड्रॉइड 5.0+)
// पूरी विंडो की एलिवेशन (डायलॉग/पॉपअप के लिए) getWindow().setElevation(20f); // या लेआउट में android:elevation="20dp"
ऐप टेस्ट करें
चलाएं - "एक्शन बार एलिवेशन: 4.0 dp" (या थीम अनुसार मान) दिखेगा।