Dav*_*ren 2 android drawable android-inflate
所以我想将 xml 布局作为视图的背景,但它必须是可绘制的。那么有什么办法可以将 it 变成可绘制的吗?
我也尝试过给它充气,但没有任何效果符合我想要的:(
提前谢谢。
基本上就像@CommonsWare 所说的那样。
1. 获取活动的 LayoutInflator
2. 像这样膨胀布局inflater.inflate(R.layout.sample,null,false)
3. 创建一个画布,将所有绘图保存到定义的位图中,如下所示
Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
Run Code Online (Sandbox Code Playgroud)
像这样将创建的视图绘制到画布中
View v = inflater.inflate(R.layout.sample,null,false); // inflate view here
v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
v.draw(c);
Run Code Online (Sandbox Code Playgroud)使用位图,画布确实绘制了
考虑在重绘活动时在本地保存位图,请参阅以下说明:
根据您希望通过画布创建此背景的动态程度和频率,您还应该考虑将创建的位图保存在某处(临时),因为每次布局更改(例如复选框选择)时,都必须重新绘制整个画布并且膨胀该过程也需要再次完成,这可能会导致 UI 中的运行时滞后。因此,只需将此位图保存在某处并重新加载即可,这就是我在类似情况下所做的。
| 归档时间: |
|
| 查看次数: |
4551 次 |
| 最近记录: |