是否可以根据屏幕宽度和高度的百分比而不是像素来排列 TextView 或相关元素的基于 XML 的位置?例如,可以
android:layout-marginLeft="150dip"
用类似的东西代替
android:layout-marginLeft="25%"?
如果没有,是否有可能以编程方式这样做?
是否可以根据屏幕宽度和高度的百分比而不是像素来排列 TextView 或相关元素的基于 XML 的位置?例如,可以
android:layout-marginLeft="150dip"
用类似的东西代替
android:layout-marginLeft="25%"?
如果没有,是否有可能以编程方式这样做?
layout_margin
属性不接受百分比值。
您正在寻找允许您使用百分比来定义布局的LinearLayout
属性:android:layout_weight
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".25" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".75" />
</LinearLayout>
在此示例中,左侧TextView
使用 25% 的屏幕,右侧使用TextView
75%。
使用 PercentRelativeLayout ( http://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html )
<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="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</android.support.percent.PercentFrameLayout>