我試圖使用this tutorial以圖像模式實現靈活空間。在Android中以編程方式更改AppBarLayout高度
一切工作正常。
請注意AppBarLayout的高度定義是192dp。
我想使屏幕的高度爲1/3,以匹配this google example for the pattern here。
下面是活動的onCreate代碼(佈局XML是完全一樣的教程):
AppBarLayout appbar = (AppBarLayout)findViewById(R.id.appbar);
float density = getResources().getDisplayMetrics().density;
float heightDp = getResources().getDisplayMetrics().heightPixels/density;
appbar.setLayoutParams(new CoordinatorLayout.LayoutParams(LayoutParams.MATCH_PARENT, Math.round(heightDp/3)));
但由於某些原因,結果是不是我期待的。這段代碼根本看不到應用欄。 (沒有代碼,高度如預期顯示,但它來自XML並且不能動態設置)。
是不是應該這樣?:float density = mParentActivity.getResources()。getDisplayMetrics()。density; float heightDp = mParentActivity.getResources()。getDisplayMetrics()。heightPixels/density; – David