get Content Height - Android User Interface

Android examples for User Interface:Display

Description

get Content Height

Demo Code

/**/*from   w w w  .j  a  v a2 s . co m*/
 * Copyright 2013 The Finest Artist
 * <p/>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
//package com.java2s;
import android.annotation.SuppressLint;

import android.content.Context;

import android.graphics.Point;
import android.os.Build;

import android.util.TypedValue;
import android.view.Display;
import android.view.WindowManager;

public class Main {
    public static int getContentHeight(Context context) {
        return getHeight(context) - getSBHeight(context)
                - getABHeight(context);
    }

    @SuppressWarnings("deprecation")
    @SuppressLint("NewApi")
    // Whole Screen includes StatusBar and ActionBar
    public static int getHeight(Context context) {

        WindowManager wm = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        Display display = wm.getDefaultDisplay();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
            Point size = new Point();
            display.getSize(size);
            return size.y;
        } else
            return display.getHeight();
    }

    public static int getSBHeight(Context context) {
        int result = 0;
        int resourceId = context.getResources().getIdentifier(
                "status_bar_height", "dimen", "android");
        if (resourceId > 0) {
            result = context.getResources().getDimensionPixelSize(
                    resourceId);
        }
        return result;
    }

    public static int getABHeight(Context context) {

        int actionBarHeight = 0;
        TypedValue tva = new TypedValue();
        if (context.getTheme().resolveAttribute(
                android.R.attr.actionBarSize, tva, true))
            actionBarHeight = TypedValue.complexToDimensionPixelSize(
                    tva.data, context.getResources().getDisplayMetrics());
        return actionBarHeight;
    }
}

Related Tutorials