『壹』 android布局權重是怎樣的
1. 分配規則
【最後控制項的寬度 = 控制項本身寬度 + 權重比例分配寬度 】
2. 計算步驟
第一步 【計算剩餘空間值】:將屏幕寬度(或高度)減去該水平(或豎直)排列之間所有控制項的寬度(或高度),得出剩餘空間值。
第二步 【權重比例分配剩餘空間值】:根據你所設置的權重值,按照比例分配給控制項(剩餘空間值為負數也照樣分配)。
3. 套用公式
例:如水平方向上的線性布局LinearLayout控制項L中,包含兩個水平佔用空間的控制項A,B。
L控制項:L控制項寬度layout_width = width_l A控制項:a控制項寬度layout_width = width_a a控制項權重layout_weight = weight_a
B控制項:b控制項寬度layout_width = width_b b控制項權重layout_weight = weight_b
L中子控制項最終佔用寬度 = 原有寬度(width_a)+剩餘空間分配量A所佔寬度 = width_a + (width_l-width_a-width_b)*weight_a/(weight_a+weight_b)
B所佔寬度 = width_b + (width_l-width_a-width_b)*weight_b/(weight_a+weight_b)
『貳』 android開發怎麼自定義控制項能使用權重屬性
一開始對於這樣的情況,我們可能會採用ImageView加TextView的方式。後來通過lint工具的提示,或者是其他的方式,你可能會知道TextView的幾個屬性drawableLeft,drawableRight,drawableTop以及drawableBottom可以做到。但是使用的時候,你會發現這幾個屬性設置進去的圖片,是按其本身大小來顯示的。
好像也沒關系,讓設計師切好圖就是了。但是心裡卻是沒底的。因為Android手機萬萬種,你公司的測試機卻只有那兩三個,也許換上某個大屏低解析度的千元機,圖標就被撐大了。所以你還是希望能設定圖片的大小。
『叄』 不在xml中配置android:layout_weight,而是寫在java代碼中。如何實現權重的分配
editText.setLayoutParams(new LinearLayout.LayoutParams(width, height, weight));
只有LinearLayout才有layout_weight屬性。
『肆』 android tablelayout 怎麼控制一行內view的權重 csdn
同樣表格布局tablelayout也可以使用權重的屬性,如下:
在每一行的tablerow屬性中也要加上權重1代表平均分成三行
android:layout_weight="1"
邊框線並不在table的范疇,因為放大來看,button控制項的邊框和tablerow的邊框是重合的,意味著這個空隙是button控制項自帶的,tablerow邊框設置無效。
『伍』 android:layout_width 單位有沒有百分比的設置方法
沒有設置方法
線性布局就用權重,設置layout_width="0dp",加個android:layout_weight="1.0"//權重
相對布局設置layout_width="0dp",然後在代碼中通過屏幕寬度設置每個控制項的大小。
可以通過android:layout_weight的方式實現百分比
(5)android代碼設置權重擴展閱讀:
view中的layout_width形容的是本view和父容器的關系;而view中的width是用來描述自己本身的。
android:width 的值,一般是 "100dp" 這樣的數值;
android:layout_width 的值,一般是"fill_parent","wrap_content","match_parent".當然,它也可以像前者一樣,設置數值的。
android:layout_width 其實是可以實現 android:width 的效果的,我覺得這應該是為什麼在 android 實例中看不到有人用 android:width 的原因吧。
帶"layout"的屬性是指整個控制項而言的,是與父控制項之間的關系,如 layout_gravity 在父控制項中的對齊方式, layout_margin 是級別相同的控制項之間的間隙等等;
不帶"layout" 的屬性是指控制項中文本的格式,如gravity是指文本的對齊方式等等,而其中文本的格式又受制約於它的控制項在父控制項中的屬性。
『陸』 Android編程,有兩個按鈕控制項,我想讓一個占屏幕高度的90%,一個佔10%,怎麼實現
/*********** 以下是用來控制圖片位置的 *******/
//獲取屏幕尺寸
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int widthPixels = dm.widthPixels;
//獲取控制項尺寸
LayoutParams params = (LayoutParams) imageView_base.getLayoutParams();
params.height = (int) (widthPixels * 0.57);
params.width = widthPixels;
//重設
imageView_base.setLayoutParams(params);
你參考參考我的代碼,希望能幫到你
『柒』 在Android開發中線性布局的權重問題。
每個按鈕都放在各自獨立的布局裡面。布局權重,按鈕wrap_content就可以了。按鈕的對齊方式可以在各自所處的布局設置
『捌』 android開發自定義控制項怎麼使用權重
權重(layout_weight):即為當前線性布局指定方向(水平、豎直)上剩餘空間的一個分配規則。
(註:以下事例皆為水平方向上剩餘空間分析,手機模擬器解析度為480*320)
一. 案例一
1. 布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity" >
<!--內部控制項水平排列-->
<TextView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_weight="3"
android:background="@android:color/black"/>
<TextView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_weight="1"
android:background="@android:color/holo_green_dark"/>
</LinearLayout>
『玖』 android布局中高為0dp 權重為1是什麼意思
比如說有一個linearlayout他的高度是100
a控制項weight=1 b控制項weight=2,c控制項weight=3,d控制項height=40,那麼
a控制項的高度就是 ((100-40)/(1+2+3)) *1
b控制項的高度就是 ((100-40)/(1+2+3)) *2
c控制項的高度就是 ((100-40)/(1+2+3)) *3
如果a不設置height=0dp,那麼當a控制項高度大於((100-40)/(1+2+3)) *1時,weight屬性不起作用,設置等於0,那麼weight屬性什麼時候都起作用。
在學安卓過程中,一直想找一款應用能夠展示各個章節的知識點,並且提供demo例子,就像谷歌Android API Demo一樣,google api demo例子太老了,都是外文,例子也不夠豐富,還不能看源碼,也沒有文檔。於是把自己學習安卓過程中的用到例子都整合在了一起,並把例子都寫在了android學習手冊中,希望想學安卓的java同胞們,能有一個好的例子參考,快速學習安卓,少走彎路。android學習手冊包含9個章節,108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,不需要積分,文檔都採用文檔結構圖顯示,可以快速定位,度娘不讓發鏈接,360手機助手中可下載。下面是android學習手冊中,關於權重的演示。