在ImageView中检索Drawable尺寸的最佳方法是什么?
我的ImageView有一个Init-Method,我创建了ImageView:
private void init() {
coverImg = new ImageView(context);
coverImg.setScaleType(ScaleType.FIT_START);
coverImg.setImageDrawable(getResources().getDrawable(R.drawable.store_blind_cover));
addView(coverImg);
}
Run Code Online (Sandbox Code Playgroud)
在布局或测量过程中的某个时刻,我需要Drawable的精确尺寸来调整其周围的其余组件.
coverImg.getHeight()
并且coverImg.getMeasuredHeight()
不返回我需要的结果,如果我使用coverImg.getDrawable().getBounds()
i,在ImageView缩放之前获取尺寸.
谢谢你的帮助!
我的应用程序下载了大约350个文件的zip.混合了JPG和HTML文件.我写的功能做得很好,但解压缩需要永远.起初我认为原因可能是写入SD卡很慢.但是当我用手机上的其他应用程序解压缩相同的拉链时,它的工作速度要快得多.我能做些什么来优化它?
这是代码:
private void extract() {
try {
FileInputStream inStream = new FileInputStream(targetFilePath);
ZipInputStream zipStream = new ZipInputStream(new BufferedInputStream(inStream));
ZipEntry entry;
ZipFile zip = new ZipFile(targetFilePath);
//i know the contents for the zip so i create the dirs i need in advance
new File(targetFolder).mkdirs();
new File(targetFolder + "META-INF").mkdir();
new File(targetFolder + "content").mkdir();
int extracted = 0;
while((entry = zipStream.getNextEntry()) != null) {
if (entry.isDirectory()) {
new File(targetFolder + entry.getName()).mkdirs();
} else {
FileOutputStream outStream = new FileOutputStream(targetFolder + entry.getName());
for …
Run Code Online (Sandbox Code Playgroud) 我需要在字符串的每个字符后插入一个空格.
即
String name = "Joe";
应成为: "J o e"
有没有办法测量底部导航栏的高度(以像素为单位)?
我发现这个HTML标签列表(据说)支持HTML.fromHtml来创建跨文本:
http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html
现在有没有办法用Font-Tag设置自定义字体?
我使用IntentService来处理我的应用程序中的大文件下载.但是,当我想取消下载时,我打电话stopService(intent)
.但是该onDestroy()
方法已被调用,但下载并未停止.我还有什么办法可以取消下载?谢谢.
我有一个很长的文本,我希望它与TextView一起显示.我的文字比可用空间长得多.但是我不想使用滚动,但ViewFlipper要翻到下一页.如何从第一个TextView中检索未显示的行,因为视图是短的,以便我可以将它们粘贴到下一个TextView中?
编辑:我找到了解决问题的方法.我只需要使用带有StaticLayout的自定义视图,如下所示:
public ReaderColumView(Context context, Typeface typeface, String cText) {
super(context);
Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
dWidth = display.getWidth();
dHeight = display.getHeight();
contentText = cText;
tp = new TextPaint();
tp.setTypeface(typeface);
tp.setTextSize(25);
tp.setColor(Color.BLACK);
tp.setAntiAlias(true);
StaticLayout measureLayout = new StaticLayout(contentText, tp, 440, Alignment.ALIGN_NORMAL, 1, 2, true);
Boolean reachedEndOfScreen = false;
int line = 0;
while (!reachedEndOfScreen) {
if (measureLayout.getLineBottom(line) > dHeight-30) {
reachedEndOfScreen = true;
fittedText = contentText.substring(0, measureLayout.getLineEnd(line-1));
setLeftoverText(contentText.substring(measureLayout.getLineEnd(line-1)));
}
line++;
}
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
StaticLayout textLayout …
Run Code Online (Sandbox Code Playgroud) 我目前正在计划我的应用程序的蜂窝更新,我想知道如何正确使用操作栏.我的第一个问题是,是否可以隐藏操作栏中的应用程序图标和标题.Honeycomb-UI有什么样的设计指南吗?
我想添加一个textview的链接,并具有以下代码:
TextView textview = (TextView) findViewById(R.id.mytext);
Pattern myPattern = Pattern.compile("WordToBeLinked");
String link = "http://mydomain.com/something";
Linkify.addLinks(textview, myPattern, link);
Run Code Online (Sandbox Code Playgroud)
所以一切都按预期工作:单词"WordToBeLinked"链接,它打开浏览器的链接但不知何故Linkify将"WordToBeLinked"添加到URL,因此调用的URL如下所示:
http://mydomain.com/somethingWordToBeLinked
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我我做错了什么吗?谢谢
我问,因为我可以通过文件系统在具有小屏幕的设备上安装应用程序.感谢帮助.