10

Trên Android 6.0 Marshmallow vị trí của EditText liên quan đến một ImageView trong RelativeLayout với thuộc tính cơ sở và layout_alignBaseline không hoạt động nữa. Hành vi này thậm chí có thể được quan sát trong trình chỉnh sửa bố cục trong Android studio. Trên thiết bị Android Marshmallow thực hoặc emulatr EditText trong trường hợp của tôi là dịch chuyển bên ngoài màn hình và không hiển thị. Tôi có bỏ lỡ một số thay đổi không, đó có phải là lỗi không?Marshmallow RelativeLayout hoạt động lạ với alignBaseline

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context=".MainActivityFragment"> 

<ImageView 
    android:layout_width="48dp" 
    android:layout_height="48dp" 
    android:id="@+id/imageView" 
    android:src="@drawable/icon_category_geography_raster" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:baselineAlignBottom="true" 
    android:background="#00ffff" 
    /> 

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/editText" 
    android:layout_alignParentTop="true" 
    android:layout_toRightOf="@id/imageView" 
    android:background="#ff0000" 
    android:inputType="text" 
    android:hint="Hint" 
    android:layout_alignBaseline="@id/imageView" /> 

Tôi đã tạo ra ảnh chụp màn hình của BTV trình bày của Android Studio. Sự khác biệt giữa hai ảnh chụp màn hình này chỉ là sự thay đổi của cấp API.

tôi đã tạo ra một dự án mẫu https://github.com/mikegr/baseline

Layout Editor with API Level 22 Layout Editor with API Level 23

+0

Điều này chắc chắn giống như một lỗi. Tôi có thể tái tạo các phát hiện của bạn từ ứng dụng mẫu của bạn. 'EditText' của bạn (hoặc' AppCompatEditText' khi nó biến thành) sẽ có một vị trí dọc tiêu cực theo Chế độ xem phân cấp (mBottom = -193, mTop = -230 trên màn hình giả lập WVGA800). – CommonsWare

+0

Có ai đã báo cáo điều này với Google không? – Zharf

+0

Carlton Whitehead đã báo cáo lỗi tại đây: https://code.google.com/p/android/issues/detail?id=190839 –

Trả lời

Các vấn đề liên quan