-1
PercentRelativeLayout自API 26起弃用,我在弃用前创建了此布局。有谁知道什么是将这个复杂的布局改为ConstraintLayout的最好方法,同时确保设计保持完全一样?如何将复杂的LinearLayout更改为ConstraintLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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="wrap_content"
android:orientation="vertical"
android:weightSum="100">
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map_stationmap_darktheme"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_weight="90"
android:layout_width="match_parent"
android:layout_height="0dp" />
<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="wrap_content"
android:layout_weight="10"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<ImageView
android:id="@+id/imageViewSun"
app:layout_widthPercent="40%"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
app:srcCompat="@drawable/ic_sun_white" />
<FrameLayout
android:id="@+id/switch_tgl"
app:layout_widthPercent="20%"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_toEndOf="@id/imageViewSun">
<android.support.v7.widget.SwitchCompat
android:id="@+id/switch_stationmap_darktheme"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent" />
</FrameLayout>
<ImageView
android:id="@+id/imageViewMoon"
android:importantForAccessibility="no"
app:layout_widthPercent="40%"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
app:srcCompat="@drawable/ic_moon_white"
android:layout_toEndOf="@id/switch_tgl"/>
</android.support.percent.PercentRelativeLayout>
</LinearLayout>