有没有一种简单的方法可以在android studio中创建如下所示的xml布局?我是iOS XCode的人,使用比率限制就可以做到这一点。
到目前为止,我使用ConstraintLayout
和垂直gridlines
使用百分比选项。但这只给了我相同的宽度view1和view2,没有高度。
我知道覆盖onMeasure
方法解决方案,但我想避免它。
a
---------------------------
| |
| |
| |
| |
| b b |
| ----------- ----------- |
| | view1 | | view2 | |
| |b | |b | |
| | | | | |
| ----------- ----------- |
---------------------------
b = 50% * a;
答案 0 :(得分:0)
您可以这样做:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageview1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/imageview2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
现在,在您的活动或片段中,您可以使用findViewById();
然后:
ImageView view_instance1 = (ImageView)findViewById(R.id.imageView1);
ImageView view_instance2 = (ImageView)findViewById(R.id.imageView2);
LinearLayout.LayoutParams params=(LinearLayout.LayoutParams)view_instance1 .getLayoutParams();
params.height= params.width;
view_instance1 .setLayoutParams(params);
view_instance2 .setLayoutParams(params);