有沒有辦法將imageview尺寸設置爲顯示尺寸的一部分? 我有一張圖片,大概需要一半的屏幕尺寸,但我無法正確設置尺寸。在較小的屏幕(如Nexus 4)中看起來不錯,但在較大的屏幕(Nexus 7)中看起來很小。我們可以通過xml來實現嗎? 或者,我將不得不爲相同的圖像在drawable-hdpi,drawable-xhdpi等中存儲不同的圖像大小。我有近50張圖片。保存多個副本將會增加我的應用程序的大小了很多:(在較大的屏幕(Nexus 7)上圖像看起來微乎其微,但在較小的屏幕(Nexus 4)中填充整個屏幕
0
A
回答
1
Is there a way to set imageview size as a proportion of display size?
使用LinearLayout
和android:layout_weight
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="50"
android:text="@string/fifty_percent"/>
<Button
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="30"
android:text="@string/thirty_percent"/>
<Button
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="20"
android:text="@string/twenty_percent"/>
</LinearLayout>
或者,使用PercentFrameLayout
:
<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentFrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--suppress AndroidDomInspection -->
<TextView
android:id="@+id/start"
android:layout_height="wrap_content"
android:background="#FF00FFFF"
android:gravity="center"
android:padding="8dp"
android:textColor="@android:color/black"
app:layout_marginLeftPercent="5%"
app:layout_widthPercent="30%"/>
<!--suppress AndroidDomInspection -->
<TextView
android:id="@+id/center"
android:layout_height="wrap_content"
android:background="#FFFF00FF"
android:gravity="center"
android:padding="8dp"
android:textColor="@android:color/black"
app:layout_marginLeftPercent="40%"
app:layout_widthPercent="20%"/>
<!--suppress AndroidDomInspection -->
<TextView
android:id="@+id/end"
android:layout_height="wrap_content"
android:background="#FFFFFF00"
android:gravity="center"
android:padding="8dp"
android:textColor="@android:color/black"
app:layout_marginLeftPercent="65%"
app:layout_widthPercent="30%"/>
</android.support.percent.PercentFrameLayout>
或者,使用PercentRelativeLayout
:
<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--suppress AndroidDomInspection -->
<TextView
android:id="@+id/start"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:background="#FF00FFFF"
android:gravity="center"
android:padding="8dp"
android:textColor="@android:color/black"
app:layout_marginLeftPercent="5%"
app:layout_widthPercent="30%"/>
<!--suppress AndroidDomInspection -->
<TextView
android:id="@+id/center"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/start"
android:background="#FFFF00FF"
android:gravity="center"
android:padding="8dp"
android:textColor="@android:color/black"
app:layout_marginLeftPercent="5%"
app:layout_widthPercent="20%"/>
<!--suppress AndroidDomInspection -->
<TextView
android:id="@+id/end"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/center"
android:background="#FFFFFF00"
android:gravity="center"
android:padding="8dp"
android:textColor="@android:color/black"
app:layout_marginLeftPercent="5%"
app:layout_widthPercent="30%"/>
</android.support.percent.PercentRelativeLayout>
(那些後兩者是從this sample app)
屏幕密度(HDPI,MDPI等)是不相關的篩選大小。
相關問題
- 1. 看起來像:Nexus 4屏幕上的XHDPI PSD?
- 2. Nexus 4上的奇怪屏幕
- 3. NSRect大小填充屏幕
- 4. 在iPhone中調整圖像大小並填充屏幕?
- 5. Nexus 6和Nexus 9屏幕密度
- 6. Nexus 7實際屏幕尺寸
- 7. 爲較小尺寸的屏幕調整圖像大小
- 8. 以整個屏幕的屏幕截圖
- 9. pygame的圖像填充屏幕上
- 10. 手機 - 媒體查詢屏幕較小,申請大屏幕
- 11. ,如何在大屏幕和小屏幕中保持「相同」的填充?
- 12. 多個主屏幕快捷方式在Nexus 7上標籤
- 13. 視口在全屏中似乎稍微偏離屏幕
- 14. 圖案填充整個屏幕
- 15. 以多種屏幕分辨率填充整個屏幕,密度
- 16. 網站在較大的屏幕上出現混亂,並在較小的屏幕上顯示滾動條
- 17. 在屏幕上自動調整圖像大小調整大小
- 18. d3 svg來填充屏幕
- 19. 設計的iPhone 5屏幕和設備的屏幕較小
- 20. 在小屏幕中查看較大容器的算法
- 21. 在小屏幕上摺疊div,在大屏幕上展開-javascript
- 22. UIPickerview填充屏幕
- 23. 使用ImageView在屏幕上填充屏幕
- 24. 隱藏在較小的屏幕上的背景圖像
- 25. Google Nexus 7:圖片寬度大於屏幕寬度
- 26. 屏幕截圖不提供整個屏幕的圖像
- 27. 在整個屏幕上旋轉圖像
- 28. 屏幕背景圖像看起來不同於iPhone屏幕在android不到2.3?
- 29. ListFragment調整項目來填充屏幕
- 30. 屏幕大小會覆蓋其他屏幕大小:S
謝謝!愚蠢的我把屏幕大小與屏幕密度聯繫起來..我嘗試使用PercentRelativeLayout,並且出現錯誤錯誤:(7)沒有找到屬性'layout_widthPercent'的資源標識符com.myPackage.myClass – user5673235
LinearLayout的工作原理。謝謝 :) – user5673235