Skip to content Skip to sidebar Skip to footer

View Height Returns 0, I Want To Return View Height From Ongloballayout

Here is my Code to return Height of view: int height = 0; public int getViewHeight(final View v) { v.getViewTreeObserver().addOnGlobalLayoutListener( new V

Solution 1:

***try this way* 
i get View Height and Width as per View**

public class Test extends Activity {

private RelativeLayout layout;
private int temp;
ViewTreeObserver vto;
SharedPreferences sharedPreferences;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test);
    sharedPreferences = getSharedPreferences("savePref",
            Context.MODE_PRIVATE);

    layout = (RelativeLayout) findViewById(R.id.layout);
    temp = set(layout);
    Log.e("temp", "" + sharedPreferences.getInt("key", 0));
}
private int set(final RelativeLayout layout) {
    vto = layout.getViewTreeObserver();
    final Editor editor = sharedPreferences.edit();
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        @SuppressWarnings("deprecation")
        @Override
        public void onGlobalLayout() {
            layout.getViewTreeObserver().removeGlobalOnLayoutListener(this);

            temp = layout.getMeasuredHeight();
            editor.putInt("key", temp);
            editor.commit();
        }
    });
    if (sharedPreferences.contains("key")) {
        Log.e("contains", "" + sharedPreferences.getInt("key", 0));
    }
    return sharedPreferences.getInt("key", 0);
}}

Post a Comment for "View Height Returns 0, I Want To Return View Height From Ongloballayout"