簡體   English   中英

Android調整布局大小並動態更改位置

[英]Android resizing layout and dynamically position change

我正在做一個簡單的游戲,我有兩個問題:

1.如何根據屏幕尺寸和分辨率設置IamgeButton,ImageView和其他元素的大小?

三星Galaxy S4:

Prestigion 9.7 Pro:

2.如何通過代碼更改某些元素的位置? 我用setY嘗試過,但較低的API不支持。 我嘗試使用此代碼,但是它移動了整個活動內容:

ImageView image = (ImageView) findViewById(R.id.imageView1);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)image.getLayoutParams();
params.setMargins(0, 0, 100, 0);
image.setLayoutParams(params);

我正在搜索一些簡單的功能,例如2.2及更高版本的API支持的CSS中的“ margin”。

提前致謝!

似乎您已經使用RelativeLayout作為視圖根。

現在,只需將以下內容添加到XML中的每個ImageView中:

android:layout_alignParentRight="true"

這將確保您的ImageViews始終顯示在最右邊的位置。 如果要在屏幕和ImageView的邊界之間留一個間隙,請添加適當的邊距,例如:

android:layout_marginRight="10dp"

如果還想補償垂直位置的變化,則可以添加LinearLayout,將所有ImageView放入該LinearLayout,為每個ImageView設置相同的權重值,然后將上面的兩行添加到LinearLayout。

為了確保所有ImageView在任何屏幕密度上都具有相同的尺寸,您將必須創建不同尺寸的圖像並將其放置在相應的drawable文件夾(drawable-mdpi,drawable-hdpi等)中。

hdpi設備的圖像必須具有mdpi圖像大小的1.5倍才能顯示相同的大小,xhdpi的系數為2,ldpi的系數為0.75。 (mdpi的因子為1)

此外,您可以為不同的屏幕尺寸或密度創建不同的布局。 這將提供所需的信息: http : //developer.android.com/guide/practices/screens_support.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM