使用具有相对布局的XML作为根布局,我可以告诉图像视图使用80%的屏幕并将其置于中间。
如果我使用换行内容或数字dp,那么图像在大屏幕上可能太小或对于小屏幕而言太大。不管屏幕是什么样的,我希望它是80‰?
请告诉我你将如何处理此感谢
答案 0 :(得分:1)
您使用PercentRelativeLayout,导入此
dependencies {
...
compile 'com.android.support:percent:23.3.0'
...
}
在XML中,您使用<android.support.percent.PercentRelativeLayout>
代替<RelativeLayout>
,它将支持以下代码用于这些孩子
app:layout_heightPercent="80%"
app:layout_widthPercent="80%"
使用android:layout_width / height,您可以使用&#34; wrap_content&#34;,或者不使用,没问题。
答案 1 :(得分:0)
嗯,你不能在XML上这样做,因为这些数学操作不能在那里完成。您可以在XML中使用MATCH_PARENT。
然后以编程方式获取特定的Views MeasuredWidth(),然后将宽度设置为80%。
这种方式更简单,更清洁。
答案 2 :(得分:0)
<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">
<ImageView
app:layout_widthPercent="80%"
app:layout_heightPercent="80%"
android:layout_centerInParent="true"/>
</android.support.percent.PercentFrameLayout>
答案 3 :(得分:0)
您可以使用线性布局创建重量,如下所示
<?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"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="8">
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>