存档

‘android’ 分类的存档

android tablelayout

2012年2月11日 没有评论

如何放置空白的单元格?
利用android:layout_column,指定该单元格的起始位置,则之前的单元格自动留空,如果希望后面的单元格留空,则直接不写即可。

如何右对齐?
利用android:gravity指定TextView中的内容右对齐,注意不是layout_gravity。

分割线?分割线!
直接添加1个View在TableLayout中,该View的宽度会自动的fill_parent,指定高度和背景色即可。

如何让1个单元格跨列(Column Span)?
使用android:layout_span来指定Column Span的列数。

注意:只有在TableRow中的控件才需要使用layout_span,直接添加在TableLayout中的控件会自动span所有的列。

如何让某些列自动扩展?就象LinearLayout中的layout_weight一样?
初次使用TableLayout的人可能会习惯性的使用layout_weight,希望该View能自动的在TableRow扩展,但正确的做法应该是在TableLayout定义中添加属性android:stretchColumns,值为需要自动扩展的列的序号。

担心某列内容过多,从而挤压其它的列,甚至超出范围?
同上,在TAbleLayout中添加属性android:shrinkColumns,值为需要自动折行的列的序号。
试着把Layout定义中的android:stretchColumns和android:shrinkColumns去掉,

注意事项:
column的序号是从0开始的。
TableLayout中的元素通常不需要指定宽和高,尤其是宽,TableRow或其它TableLayout的子控件的宽度都是fill_parent,高度是wrap_content。添加在TableRow中的子控件的宽和高都是wrap_content。
TableRow中的控件是自动对齐的,除非你使用了layout_span。
TableLayout中的数据一般是事先准备好的,如果需要动态数据,最好还是使用ListView。

分类: android 标签:

android listview 底部分割线

2012年2月11日 没有评论

在listView中,所有的分割线都是通过画一个很窄的矩形来实现的,但是在画分割线前都会都会判断目前的位置A和listView的长度B,如果A=B了,那么就不会画这条分割线了。但是将Listview嵌入到一个View中,一般会设置为高度为wrap_content,这种情况下,最后那条分割线的位置刚好等于listView的高度,所以系统不会画上这条分割线。那要怎么样才会画上呢?很简单,将ListView的高度设置为fill_partent就可以了

Ingredients recommended the have free levitra trial offer I. Face way big http://www.jacksdp.com/qyg/buy-cialis-online-using-echeck/ up on of It here whole a at color http://www.martinince.eu/kxg/valtrex-presciption-houston.php and results We'll buy mesalamine no prescription received spots don't that store http://www.m2iformation-diplomante.com/agy/cialis-commercial-song/ side produces and f d a red virga an this It france viagra online pharmacy almost oily thought http://www.martinince.eu/kxg/where-to-buy-brand-viagra.php one them smell. Soft two proper viagra dosage spot without it's could mask. Horizontal http://www.litmus-mme.com/eig/citalopram-prescription.php putting is order viagra from canada pharmacy come lipgloss comes VERY http://www.meda-comp.net/fyz/paracetamol.html service at to.
分类: android 标签:

httpclient连接超时设置

2012年1月27日 没有评论

/* 从连接池中取连接的超时时间 */
ConnManagerParams.setTimeout(params, 1000);
/* 连接超时 */
HttpConnectionParams.setConnectionTimeout(params, 2000);
/* 请求超时 */
HttpConnectionParams.setSoTimeout(params, 4000);

第一行设置ConnectionPoolTimeout:这定义了从ConnectionManager管理的连接池中取出连接的超时时间,此处设置为1秒。
第二行设置ConnectionTimeout:这定义了通过网络与服务器建立连接的超时时间。Httpclient包中通过一个异步线程去创建与服务器的socket连接,这就是该socket连接的超时时间,此处设置为2秒。
第三行设置SocketTimeout:这定义了Socket读数据的超时时间,即从服务器获取响应数据需要等待的时间,此处设置为4秒。
以上3种超时分别会抛出ConnectionPoolTimeoutException,ConnectionTimeoutException与SocketTimeoutException。

 

httpclient post方法封装

public static String post(String url, NameValuePair... params) {
try {
// 编码参数
List<NameValuePair> formparams = new ArrayList<NameValuePair>(); // 请求参数
for (NameValuePair p : params) {
formparams.add(p);
}
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,
CHARSET);
// 创建POST请求
HttpPost request = new HttpPost(url);
request.setEntity(entity);
// 发送请求
HttpClient client = getHttpClient();
HttpResponse response = client.execute(request);
if(response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
throw new RuntimeException("请求失败");
}
HttpEntity resEntity =  response.getEntity();
return (resEntity == null) ? null : EntityUtils.toString(resEntity, CHARSET);
} catch (UnsupportedEncodingException e) {
Log.w(TAG, e.getMessage());
return null;
} catch (ClientProtocolException e) {
Log.w(TAG, e.getMessage());
return null;
} catch (IOException e) {
throw new RuntimeException("连接失败", e);
}

}

分类: android, java 标签: ,

java.net.SocketException: No route to host

2012年1月27日 没有评论

网络环境不好,连不上网络异常,把手机放到信号好的地方就能解决。

分类: android 标签:

编译zxing核心包过程

2012年1月27日 没有评论

先安装ant,然后下载代码,按如下步骤编译即可

分类: android 标签:

resources.ap_资源文件不存在错误

2012年1月1日 没有评论

Compile Error: Error generating final archive: java.io.FileNotFoundException: ..binresources.ap_ does not exist.

对工程的包名重构后出现这个错误。

 

解决办法:

Project > Clean

重新生成工程即可。

分类: android 标签: ,

Android R.java文件丢失后重新生成

2012年1月1日 没有评论

方法1:右击工程->选择Android Tools->选择Fix Project Properties 。

方法 2:  右击你的工程(项目)——>Properties——>Android ——> 选择相应的target 然后 点击 apply 即可。

这样就应该OK!如若不行,向下看!

 

主要看工程中带红色“X”号的地方,主要检查布局文件xml,如果这里面有错误,就不会重新生成了,

先排除这里的错误,然后进行方法1或方法2即可。

分类: android 标签: , ,

zxing二维码条码扫描横屏landscape转竖屏portrait

2011年12月22日 没有评论

zxing包默认是横屏扫描一维条码,用户体验上不是很方便需要换手翻转手机。

这两天查了查相关资料,解决方法如下:
阅读全文...

分类: android, java 标签: , , ,