我可能會嘗試做一些不可能的事情。我正在編寫使用遙控器圖片作爲背景的應用程序,然後使用相對佈局和邊距將按鈕放置在背景頂部,以正確定位按鈕。我認爲我可以在不同的佈局文件中指定不同的邊距,但它只會從主佈局文件(在/佈局中)佔用邊距。我有兩個xxhdpi和xhdpi的佈局,並且正在拾取適當的圖形,但是我不能根據屏幕尺寸來決定如何移動它們。我可以得到一個屏幕大小看起來很好,但其他的都搞砸了,不管我放在各自的xml文件中。這甚至有可能嗎?在android上使用相對佈局佈局
感謝....
我可能會嘗試做一些不可能的事情。我正在編寫使用遙控器圖片作爲背景的應用程序,然後使用相對佈局和邊距將按鈕放置在背景頂部,以正確定位按鈕。我認爲我可以在不同的佈局文件中指定不同的邊距,但它只會從主佈局文件(在/佈局中)佔用邊距。我有兩個xxhdpi和xhdpi的佈局,並且正在拾取適當的圖形,但是我不能根據屏幕尺寸來決定如何移動它們。我可以得到一個屏幕大小看起來很好,但其他的都搞砸了,不管我放在各自的xml文件中。這甚至有可能嗎?在android上使用相對佈局佈局
感謝....
你必須創建在不同的文件夾中的值(值,值,LDPI-V6,價值觀MDPI-V6等)來指定不同的利潤率,系統將自動挑選夢詩文件基於屏幕分辨率的相關值。
例如
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="call_log_margin">4dp</dimen>
<dimen name="no_call_log_margin_left">10dp</dimen>
</resources>
使用這些值「call_log_margin」,並在你的佈局「no_call_log_margin_left」。這些將在不同dimens.xml有不同的價值觀
這是缺少的成分。謝謝,現在所有的事情似乎都是正確的。 – cpeddie
你可以在任何地方放置相對佈局上在運行時查看。這裏是可以幫助你的示例代碼。
RelativeLayout DispView = new RelativeLayout(this);
RelativeLayout.LayoutParams DispViewLayoutParams = new RelativeLayout.LayoutParams(w,h);
DispViewLayoutParams.addRule(RelativeLayout.RIGHT_OF, someview.getId());
DispViewLayoutParams.addRule(RelativeLayout.BELOW, someview2.getId());
DispViewLayoutParams.setMargins(x,y,0,0);
Mainview.addView(DispView , DispViewLayoutParams);
如果你嘗試用預先存在的佈局和視圖要做到這一點,你最好使用帶有充滿'Button's水平'LinearLayout's排掉,加權'Button's'的寬度和LinearLayout的高度。但是,如果你繼承了'View'並自己處理繪圖和點擊事件,我會認爲你會得到更一致的結果。 –