作者charlie20083 (CharlieChou)
看板AndroidDev
标题[问题] 关於RelativeLayout的排版
时间Wed Jul 17 10:09:23 2013
恩... 其实我也只是个新手
学校教的Android程式设计也没有提到这麽疯狂的东西的样子=~=...
所以我还是先上图好了
这是我预计想做出来的样子:
http://ppt.cc/Ivrk
(有两个按键的字是一样的是因为我是用小画家模拟的...)
简单来说
就是先上下以1:4切开
(用直的LinearLayout搭配weight用)
接着下面那块比较大块的在左右五等分放按键
不过按键上除了按键本来的Text之外
还要再加一个TextView在左下方 (显示些其他资讯用的)
(然後这些玩意就通通包在下面那个比较大的横向的LinearLayout里)
(每个按键和TextView分别用RelativeLayout包起来)
然後现在的xml Code长这样:
http://paste.plurk.com/show/1601367
(应该不用把整包专案丢网路没关系吧?)
在ADT中它画出来长这样:
http://ppt.cc/6cOq
可能会有其他大神看过Code之後问我
"横向对分那个为什麽不用TableLayout来做?"
其实我也有试过
不过我注意到有时候TableLayout似乎不会真的"等分"
所以就土炮用LinearLayout做...
不过这好像不是问题点
因为我用TableLayout还是会遇到接下来要说的问题...
而当我把第五个按键的xml程式码改成和前四个一样的时候
ADT画出来的画面反而会变成这样:
http://ppt.cc/Z1Nf
感觉就是我放在最上层LinearLayout的weight失效了...
而且这个问题只要第五个按键RelativeLayout的height设定成"match_parent"就会发作
然後假如不要用RelativeLayout 改用FrameLayout来做的话
就没这个问题
可是因为定位的关系
文字的位置就被限制住了... (一定得在最左下角 没办法微调位置)
我不太懂 这逻辑应该没有错吧?
可是为什麽画出来跟我想像中的就不太一样...
(还是其实是我的认知有问题?)
而且也只有RelativeLayout会错乱...
只好上来请教各位大大了...
虽然通通用RelativeLayout做也可以
但这样感觉解析度就被锁死了 (虽然说是在平板用 但还是希望他能活一点...)
真的没办法就只好通通用RelativeLayout做了...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.243.10.158
※ 编辑: charlie20083 来自: 111.243.10.158 (07/17 10:25)
1F:推 crazyma:weight属性不能nested google "nested weight"有很多讨论 07/17 14:09
所以weight不能给我拿来这样用罗?
但因为之前有试过TableLayout会有评分不均的问题
虽然网路上说TableLayout也可以用weight来控制
但听大大这样说我又觉得这样不可行=~=...
可是我又一时想不到其他办法了...
2F:推 ian90911:那通通用LinearLayout呢? 07/17 15:08
LinearLayout不能重叠吧? (据我所知 但我其实还蛮无知的...)
按键右下角的字是一个TextView
然後利用RelativeLayout或FrameLayout叠在按键上的...
※ 编辑: charlie20083 来自: 111.243.10.158 (07/17 15:22)
3F:推 tac0wu:为什麽button要用Linearlayout包起来 把高度的地方改成 07/17 21:21
4F:→ tac0wu:match parent看看 07/17 21:21
T大你忘了我的按键啊...
我要做的就是
除了按键自己的文字之外 还要再叠一个TextView
所以才用RelativeLayout把Button和Textview绑再一起
可是用RelativeLayout会出错
但改用FrameLayout是不会有问题 可是就没办法自由调整TextView的位置了...
所以才上来问ˊˇˋ
※ 编辑: charlie20083 来自: 114.36.61.134 (07/17 21:40)
7F:推 tac0wu:有没有用Relativelayout 应该是不影响 07/17 21:57
8F:→ tac0wu:只是 这样nested 又用RL 真的很伤效能 07/17 21:58
喔喔 看完T大的Code 也实际跑了一遍之後
结果就是
我的ADT会骗人= =...
在编辑器看到的是一回事 在模拟器看到的又是另外一回事...
可是看了T大的Code之後 我又有点问题了
因为依照我的无知
T大的Code我会解读成
上面的TextView占画面的4/5 下面的按键区只有1/5
但实际上却是颠倒的?
怎麽感觉weight这东西好像不是很好懂啊...
※ 编辑: charlie20083 来自: 114.36.61.134 (07/17 22:07)
9F:推 tac0wu:weight 和大小成反比 07/17 22:16