मैं अपने ऐप में एक टूलबार बनाना चाहता हूं, और मैं सोच रहा हूं कि एंड्रॉइड में टूलबार के लिए मानक ऊंचाई क्या है?
मैं चाहता हूं कि यह उंगली के लिए काफी बड़ा हो, लेकिन विशाल नहीं। क्या मानक आकार है?
जवाबों:
?attr/actionBarSize
@ जैसन ब्रूक्स ने टिप्पणी करने के लिए इसका सबसे अच्छा उपयोग किया।
में सामग्री के दिशा निर्देशों , सुझाव ऊंचाई 56dp है:
टूलबार: 56dp
स्पर्श करने योग्य तत्वों के लिए अनुशंसित न्यूनतम आकार 48 डीपी है, इस पेज को और अधिक विस्तृत मैट्रिक्स के लिए देखें ।
android:minHeight="?attr/actionBarSize"
।
@ Vedant1811 उत्तर के अलावा, आप प्रोग्राम को attrs actionBarSize
से प्राप्त कर सकते हैं :
TypedValue tv = new TypedValue();
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
{
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
}
AppBar ऊँचाई को प्रोग्रामेटिक रूप से प्राप्त करने के लिए आप निम्न विधि का उपयोग कर सकते हैं
private static final int DEFAULT_TOOLBAR_HEIGHT = 56;
private static int toolBarHeight = -1;
public static int getToolBarHeight(Context context) {
if (toolBarHeight > 0) {
return toolBarHeight;
}
final Resources resources = context.getResources();
final int resourceId = resources.getIdentifier("action_bar_size", "dimen", "android");
toolBarHeight = resourceId > 0 ?
resources.getDimensionPixelSize(resourceId) :
(int) convertDpToPixel(DEFAULT_TOOLBAR_HEIGHT);
return toolBarHeight;
}
public static float convertDpToPixel(Context context, float dp) {
float scale = context.getResources().getDisplayMetrics().density;
return dp * scale + 0.5f;
}
आप टूलबार विजेट का उपयोग कर सकते हैं जो पहले से ही एंड्रॉइड में मौजूद है और ऊँचाई लपेटें_ कॉन्टेंट को डालते हैं, इसलिए इसके साथ आने वाले डिफ़ॉल्ट आकार को प्राप्त करना बेहतर होगा।
यहाँ
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@color/dark_cerulean">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingEnd="16dp"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="end"
android:gravity="end"
android:layout_marginEnd="16dp"
android:textColor="@color/white"
android:id="@+id/toolbar_title" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"
android:id="@+id/image"/>
</LinearLayout>
</android.support.v7.widget.Toolbar>