0

Meine AppBarLayout halten eine Toolbar und TabLayout. Wenn die Ansicht verankert ist, wird die Höhe auf 0 setLayoutParams(0) festgelegt. In einem anderen Status ist die Ansicht minimiert. Ich muss die Höhe der Anwendung wiederherstellen. Ich habe versucht, setLayoutParams(heightDp) woSetzen Sie AppBarLayout Größe programmatisch auf Android

float heightDp = getResources().getDisplayMetrics().heightPixels/6; 

aber die Höhe ist nicht korrekt.

private void setLayoutParams(int paramsHeight) { 
    CoordinatorLayout.LayoutParams lsp = (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams(); 
    lsp.height = paramsHeight; 
    mAppBarLayout.setLayoutParams(lsp); 
} 

Wie kann ich feststellen, genaue AppBar Höhe programmatisch.

Antwort

0

Sie sollten es von Standardressourcen mit TypedArray erhalten:

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

Sie müssen TypedArray

attrs.recycle(); 

Auf diese Weise recyceln Sie den Wert entsprechend dem Bildschirm erhalten.

Verwandte Themen