CSharp程序员学Android开发---3.Android内部元素不填充BUG
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的。 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的。
项目历时一个多月,4个人开发,最终行成一个可用的Demo,整体效果还非常不错。这其中借鉴了网上的“仿网易客户端的Demo”还有就是学习《疯狂Android》,收获颇多,这里利用几篇文章做一个项目经验总结,还有就是更多的从C#
程序员的观点来理解Android的一些异同之处。
文章目录:
CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用
CSharp程序员学Android开发---2.个人总结的快捷键
CSharp程序员学Android开发---3.Android内部元素不填充BUG
案例:Layout Error:
首先说明一下,这个问题是项目开发中遇到的难点之一,Baidu中的解决方案并不多,最终是泡在StackOverFlow上找到了答案。
图中的红色部分是图片本应该填充的部分,但未填充而显示了背景红色,右侧的两条蓝色线条也是如此。相信很多人都遇到了这个问题,所以不想多说了,元素属性已经是fill_parent或者match_parent,可见在某些情况下fill_parent会无效。
最后,欣喜的是在几个小时的尝试,Search之后终于找到了问题,这个是Layout的一个bug,已经有人提交到Android的官方,大概是问题出在,某些情况下控件没有刷新自身大小导致这样的结果。
以下是解决步骤:
1. 将fill_parent替换成match_parent
2. 在ImageView中设置参数 android:adjustViewBounds="true" 和 android:scaleType="fitXY" ,建议所有ImageView都设置上。
或 img.setScaleType(ScaleType.FIT_XY); img.setAdjustViewBounds(true);
最终,所有图片均真正的“填充”了,其原理是强制图片刷新自己,可能这样会导致一些效率问题。
引用
BUG:当布局中其中一个控件为GONE时布局有误的解决办法:http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html
BUG:LinearLayout中元素不fillBUG: http://stackoverflow.com/questions/5403970/imageview-adjustviewbounds-does-not-work-with-layout-height-fill-parent
http://stackoverflow.com/questions/16462407/android-imageview-from-url-wont-fill-parent-in-listview
CSharp程序员学Android开发---3.Android内部元素不填充BUG的更多相关文章
- CSharp程序员学Android开发---2.个人总结的快捷键
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- .Net程序员学用Oracle系列(1):导航目录
本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...
- .Net程序员学用Oracle系列(6):表、字段、注释、约束、索引
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 ...
- .Net程序员学用Oracle系列(8):触发器、任务、序列、连接
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.触发器 1.1.创建触发器 1.2.禁用触发器 & 启用触发器 & 删除触发器 2.任务 2.1.DBMS_ ...
- .Net程序员学用Oracle系列(9):系统函数(上)
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.字符函数 1.1.字符函数简介 1.2.语法说明及案例 2.数字函数 2.1.数字函数简介 2.2.语法说明及案例 3.日期 ...
- .Net程序员学用Oracle系列(10):系统函数(下)
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2. ...
- .Net程序员学用Oracle系列(11):系统函数(下)
1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 R ...
- .Net程序员学用Oracle系列(15):DUAL、ROWID、NULL
1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NUL ...
随机推荐
- VirtualBox中的虚拟机在Ubuntu 下无法启动之问题解决
我通过重新安装box解决的.发现,box安装,直接apt install有可能会出现虚拟机无法启动的问题. 一.添加VirtualBox的源并安装5.1版本virtualbox官网:https://w ...
- nyoj743-复杂度 【排列组合】
http://acm.nyist.net/JudgeOnline/problem.php?pid=743 复杂度 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 fo ...
- Poor Warehouse Keeper
Poor Warehouse Keeper http://acm.hdu.edu.cn/showproblem.php?pid=4803 Jenny is a warehouse keeper. He ...
- python使用ip代理抓取网页
在抓取一个网站的信息时,如果我们进行频繁的访问,就很有可能被网站检测到而被屏蔽,解决这个问题的方法就是使用ip代理 .在我们接入因特网进行上网时,我们的电脑都会被分配一个全球唯一地ip地址供我们使用, ...
- Windows“储存并显示最近在开始菜单和任务栏中打开的项目”显示灰色问题解决
问题截图如下: 解决方法 打开"组策略",依次选择"用户配置"--"管理模板"--"开始菜单和任务栏"--"不 ...
- instanceof用法及本质:
import static java.lang.System.*; public class InstanceofTest{ public static void main(String[] args ...
- BZOJ 1430 小猴打架 - prufer数列
描述 一开始森林里面有N只互不相识的小猴子,它们经常打架,但打架的双方都必须不是好朋友.每次打完架后,打架的双方以及它们的好朋友就会互相认识,成为好朋友.经过$N-1$次打架之后,整个森林的小猴都会成 ...
- c++11多线程学习笔记之四 生产消费者
#ifndef MY_QUEUE_H__ #define MY_QUEUE_H__ #include<list> #include<mutex> #include<thr ...
- 转载hibernate 的3种 状态 。。
转自 http://huangtut.iteye.com/blog/261520 对我有帮助,所以收藏了 Hibernate三种状态的区分,以及save,update,saveOrUpdate,m ...
- java 打包jar 并后台运行
编译java: javac main.java 运行: java main.class 生成jar: 第一步:新建 一个MANIFEST.MF 第二步:将如下信息放到该文件中 Manifest-Ver ...