android - বলত - অ্যাকশনবারের আকার পিক্সেল কি?




রেজুলেশন মানে কি (8)

সঠিক ব্যাকগ্রাউন্ড চিত্র প্রয়োগ করার জন্য আমি অ্যাকশনবারের সঠিক আকারটি পিক্সেলগুলিতে জানতে চাই।



XML এ অ্যাকশনবারের উচ্চতা পুনরুদ্ধার করতে, কেবল ব্যবহার করুন

?android:attr/actionBarSize

অথবা আপনি যদি অ্যাকশনবারশহলক অথবা AppCompat ব্যবহারকারী হন তবে এটি ব্যবহার করুন

?attr/actionBarSize

আপনি রানটাইম এ এই মান প্রয়োজন হলে, এই ব্যবহার করুন

final TypedArray styledAttributes = getContext().getTheme().obtainStyledAttributes(
                    new int[] { android.R.attr.actionBarSize });
mActionBarSize = (int) styledAttributes.getDimension(0, 0);
styledAttributes.recycle();

যদি আপনি এই সংজ্ঞায়িত যেখানে বুঝতে হবে:

  1. বৈশিষ্ট্যের নাম নিজেই প্ল্যাটফর্মের /res/values/attrs.xml এ সংজ্ঞায়িত করা হয়
  2. প্ল্যাটফর্মের themes.xml এই বৈশিষ্ট্যটি পছন্দ করে এবং এটি একটি মান নির্ধারণ করে।
  3. ধাপ ২ এ নির্ধারিত মানটি বিভিন্ন ডিভাইস মাপের উপর নির্ভর করে, যা প্ল্যাটফর্মের বিভিন্ন dimens.xml ফাইলগুলিতে সংজ্ঞায়িত করা হয়। কোর / মাঝামাঝি / মাঝামাঝি / মান-sw600dp / dimens.xml

আপনি যদি অ্যাকশনবারশহলক ব্যবহার করেন তবে আপনি উচ্চতাটি পেতে পারেন

@dimen/abs__action_bar_default_height

আপনি যদি সাম্প্রতিক v7 অ্যাপমপ্যাট সমর্থন প্যাকেজ থেকে উপযুক্ততা অ্যাকশনবার ব্যবহার করেন তবে আপনি উচ্চতা ব্যবহার করতে পারেন

@dimen/abc_action_bar_default_height

Documentation


আমি একটি প্রাক-আইসিএস সামঞ্জস্য অ্যাপ্লিকেশন সঠিকভাবে এই উচ্চতা প্রতিলিপি করতে এবং ফ্রেমওয়ার্ক কোর উত্স মধ্যে খনন প্রয়োজন। উপরে উভয় উত্তর সঠিক ধরণের হয়।

এটি মূলত qualifiers ব্যবহার করে নিচে boils। উচ্চতা "action_bar_default_height" মাত্রা দ্বারা সংজ্ঞায়িত করা হয়

এটি ডিফল্ট জন্য 48dip সংজ্ঞায়িত করা হয়। কিন্তু স্থল জন্য 40 ডিপ এবং sw600dp জন্য এটি 56 ডিপ হয়।


আমি নিজের জন্য এই ভাবে করেছি, এই সহায়ক পদ্ধতিটি কারো পক্ষে সহজেই ব্যবহার করা উচিত:

private static final int[] RES_IDS_ACTION_BAR_SIZE = {R.attr.actionBarSize};

/**
 * Calculates the Action Bar height in pixels.
 */
public static int calculateActionBarSize(Context context) {
    if (context == null) {
        return 0;
    }

    Resources.Theme curTheme = context.getTheme();
    if (curTheme == null) {
        return 0;
    }

    TypedArray att = curTheme.obtainStyledAttributes(RES_IDS_ACTION_BAR_SIZE);
    if (att == null) {
        return 0;
    }

    float size = att.getDimension(0, 0);
    att.recycle();
    return (int) size;
}

ক্লাস সারাংশ সাধারণত শুরু করার জন্য একটি ভাল জায়গা। আমি getHeight () পদ্ধতি যথেষ্ট হওয়া উচিত মনে হয়।

সম্পাদনা করুন:

যদি আপনার প্রস্থের প্রয়োজন হয় তবে এটি পর্দাটির প্রস্থ হওয়া উচিত (ডান?) এবং এটি এমনভাবে সংগৃহীত হতে পারে।


?android:attr/actionBarSize নমুনাগুলির মধ্যে একটি ?android:attr/actionBarSize







android-actionbar