我想以下列方式在ImageView中缩放图像.ImageView具有一些尺寸宽度(W)和高度(H).我放入图像视图的图像可能比WxH更小或更大.我希望它在保持宽高比以填充 WxH空间的同时进行缩放.
看起来最接近我想要的是android:scaleType ="centerInside",但我所看到的是,如果图像小于WxH,它会将该图像的一个小的非缩放版本放在中心ImageView(就像文档所说的那样),但我想让它缩放到"适合",同时显示整个图像,并将其拉伸到容器的最大可能尺寸而不会裁剪任何东西.换句话说,拉伸保持纵横比直到宽度或高度碰到容器的边缘(ImageView).
这似乎是一个显而易见的事情,但我无法让它以这种方式工作!
我使用的Eclipse MAT,试图在Android的跟踪资源泄漏(如果你改变屏幕方向很多),当我去柱状图来看,我看到我的活动与以$连连列出的相同活动一起上市在它之后.
所以喜欢:
com.test.TestActivity
com.test.TestActivity$1
com.test.TestActivity$2
com.test.TestActivity$3
Run Code Online (Sandbox Code Playgroud)
只是想知道$ 1,$ 2和$ 3意味着什么...
TIA.
当我使用数组适配器并更改屏幕方向时,我会出现内存不足的情况.我制作了最小的完全可用的代码来展示这个问题.
package com.foobar.test;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class TestAppActivity extends Activity {
protected ArrayList<ListItem> mModel = new ArrayList<ListItem>();
protected ListAdapter mAdapter = null;
private static Context mApplicationContext = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.gc();
setContentView(R.layout.main);
if (mApplicationContext == null) { mApplicationContext = getApplicationContext(); }
ListView lv = (ListView) findViewById(R.id.ListList);
lv.setItemsCanFocus(true);
mAdapter = new ListAdapter(mApplicationContext, lv, mModel); …Run Code Online (Sandbox Code Playgroud) 这让我有点疯狂,但是安卓的方式是,你有不同的目录,使用相同的xml名称.
所以,例如,你可能有:
res/layout/main.xml和
res/layout-land/main.xml
当你处于横向模式时,它将知道使用layout-land目录中的那个.
真正令人恼火的是,当我在Eclipse中时,我打开res/layout/main.xml文件,如果在项目浏览器中我点击打开layout-land/main.xml中的那个,它就会离开你打开的那个(res/layout/main.xml)打开了.这太烦人了.你可以通过简单地关闭打开的那个来解决它,然后当你点击打开布局中的那个时它将打开正确的那个,但是只要你已经拥有一个具有该名称的文件(不是同一个目录) )开放.
有没有办法解决这个问题,除了使用不同的编辑器或"与它一起生活"?
我刚刚将我的系统升级到Ice Cream Sandwich(Android 4.0),现在每当我尝试在调试器中运行我的应用程序时,我都会遇到崩溃aapt.exe.
如果我只是构建,它构建正常,但是当我在调试器中运行它时,aapt.exe崩溃(弹出一个对话框并询问我是否要向Microsoft发送数据)和我的项目图标Project_Explorer显示它有错误( S).
开发机器
远程机器
/etc/php.ini文件
[xdebug]
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host="10.211.55.3"
xdebug.remote_log=/tmp/xdebug_remote_log
xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)
PHP文件都存在于远程机器上并映射到eclipse中的项目(即我可以在我的开发机器上看到实际文件).
我有一个调试配置,可以在调试器中运行,但不能在任何断点处设置或停止.我甚至试过xdebug_break() - 似乎忽略了它.
我尝试在远程机器上打开端口9000,没有区别.
我尝试将这个'-Djava.net.preferIPv4Stack = true'添加到eclipse.ini文件(在另一篇文章中找到 - 与IPv6与IPv4有关),但是没有用.
eclipse中的项目属性:
我不知道该尝试什么.任何帮助将不胜感激.