我正在创建一些自定义的remoteViews,为了将自定义视图和布局绘制到与通知面板一样宽的位图,我需要它的确切宽度。
由于每个供应商都会更改通知面板的宽度,并且在大多数情况下会根据方向进行更改,因此很难找到常规模式。
有没有办法获得它的宽度?
粉红色部分是纯粹的remoteViews,底部是imageview,我将自定义视图绘制到它,因为我没有父宽度,所有子视图都会崩溃。
答案 0 :(得分:2)
最简单的方法是将LinearLayout与android:orientation="horizontal"
和android:layout_width="match_parent"
一起使用,并为该布局中的每个视图添加android:layout_weight="1"
和android:layout_width="0dp"
。这意味着该布局中的每个视图都具有相同的宽度。有关它的更多信息,请阅读here。
更新:在here中,它表示通知托盘宽度 478dp 。 所以,试试吧。也许一些制造商有不同的尺寸,但这是一个很好的数字开始:)。
答案 1 :(得分:0)
您可以尝试此操作来获取宽度并计算自定义布局
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
使用宽度计算自定义布局