在linearlayout中直接設置背景圖片,背景圖片會被拉伸。。
我們來試一下imagebutton
但是imagebutton無法添加文字。。
button能同時添加文字和圖片但是圖片比例沒法控制好像。。
然后ImageView和ImageButton都有scaleType用來設置縮放的一些屬性
(以前被relativelayout坑過。。反正最后得出的經驗是從左到右,從上到下地聲明元素,否則就會出現,出界的元素,或者說。。錯位啥的)
目前我是用了relativelayout去解決了一下,因為是相對布局嘛。。開始口胡:
如果RL內部的view都沒有指定它自己的相對位置信息,那我們就不知道把他們放到哪里,不過默認好像都是左上
那既然這樣的話。。不就能重疊了么。。(重疊的順序一般是先聲明的在下面,后聲明的在上面)
然后搞起。。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/album_item" android:scaleType="centerInside" android:layout_centerHorizontal="true" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="默認相冊>" android:textSize="25sp" android:gravity="right" android:layout_marginRight="10dp" android:layout_marginTop="62.5dp" /> <!--這里使用二分調整了一下dp值,那我們的jud函數就是我們自己的眼睛辣--> </RelativeLayout>
最后margin_top這個值還是手動二分調出來的。。
不過呢還有其他的解決方法
比如這篇博客http://blog.csdn.net/lzqjfly/article/details/8589683
他是利用了Canvas重繪(大概是這樣。。但是我對於Canvas和畫筆一無所知。。c#學過一些類似的,無奈只會套模板)
其實主要問題就在於。。你不知道你當前畫的這個玩意尺寸多大,下一個控件的中點想跟你這個控件的中點對齊都不知道跟
哪里對齊。。
嗯在討論relativelayout時,我們要常常備着一個鏈接。。查看relativelayout都有哪些屬性,這些屬性都是干啥的。。
鏈接:http://www.jianshu.com/p/16894af17ea4
根本就跟中點。。鳥關系沒有。。(目前是這樣),不手算dp的話,那就得覆蓋重繪方法了。。(這個玩意不能說成重載。。)
覆蓋重繪,我們過兩天搞吧。。
搜重繪的時候順便搞懂了一個東西。。收藏一下連接
http://blog.sina.com.cn/s/blog_6e519585010152s5.html
還有一個android背景圖按比例縮放的文章,他這個背景圖是要fill全部的。。
他利用了Framelayout,這個好像沒咋用過。。不懂。。。
連接:http://blog.csdn.net/only2xlr/article/details/44161283