【发布时间】:2010-11-12 17:54:09
【问题描述】:
我开始了一个测试项目只是为了解决这个问题。 main.xml 没有变化。我想创建一个小部件大小的 ImageView (80x100),其中包含从 TextView 转换的位图。是的,这听起来很迂回,但这只是为了测试;最后我希望 ImageView 有一个背景图像和多个 TextViews。我不确定自己到底做错了什么,但没有任何内容被推送到屏幕上。
在构造函数中声明 TextView/ImageView 并传递“this”是否有问题?我的 layoutParams 有问题吗?代码如下:
package com.doaf.testproject;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class TestProject extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(80, 100);
tv.setLayoutParams(layoutParams);
tv.setText("testing 1 2 3");
tv.setTextColor(0xFFFFFF);
tv.setBackgroundColor(0x555555);
Bitmap testB;
testB = loadBitmapFromView(tv);
ImageView iv = new ImageView(this);
iv.setLayoutParams(layoutParams);
iv.setBackgroundColor(0x555555);
iv.setImageBitmap(testB);
setContentView(iv);
}
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap(80, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, 80, 100);
v.draw(c);
return b;
}
}
感谢您提供的任何帮助。我对 Android 比较陌生,对这个很迷茫。
【问题讨论】:
-
这听起来真是个坏主意。
-
@Rockmaninoff:你在使用自定义布局吗?
-
@Tilsan The Fighter:我计划使用自定义布局。最终目的是生成一个由可选背景图像和一些 TextView 组成的 LinearLayout,然后将该 LinearLayout 导出到 Bitmap,然后导出到小部件的背景(ImageView?)。
-
@Falmarri:你为什么这么说?
标签: android android-widget android-layout