2017-12-21 102 views
7

Tôi gặp sự cố này trong ứng dụng của mình, điều này cực kỳ lạ.Android Studio - Bố cục hoạt động hiển thị lật (RTL thay vì LTR)

Tôi có một ứng dụng, khi tôi nhấn Chạy trên Android Studio, ứng dụng sẽ khởi động ứng dụng với hướng của bố cục chính xác. Bây giờ, tôi nhấn nút Quay lại và quay lại ứng dụng, nó hiển thị bố cục RTL thay vì bố cục LTR hiện tại, chính xác.

Ứng dụng này khá đơn giản, nó có Hoạt động với một Nút điều hướng trong Thanh công cụ, khi được lật, NavigationButton chuyển từ trái sang phải, với hướng trỏ sai.

Ứng dụng là LTR, chỉ hỗ trợ tiếng Anh và được thử nghiệm trên thiết bị tiếng Anh, kết quả tương tự cũng xảy ra trên Trình giả lập. Tôi có phiên bản cuối cùng của Android Studio.

  • Bố cục, bằng Thanh công cụ, cùng với thuộc tính điều hướng, để bật mũi tên quay lại.
  • Hoạt động setContentView và chỉ hiển thị bố cục.
  • Quay lại nhấn hoặc mở lại ứng dụng mà không xóa nó khỏi BackStack, hiển thị lỗi hình ảnh.

Điều gì gây ra sự cố? vì mã này khá đơn giản và không có bất kỳ phần cứng nào.

Mã Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.corF.app"> 
<uses-permission android:name="android.permission.INTERNET"/> 
<application 
    android:supportsRtl="true" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name="com.corF.app.activities.ActivityStartup" 
     android:label="@string/app_name" 
     android:windowSoftInputMode="adjustResize|stateHidden"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 
</manifest> 
+3

Đăng một số mã. Tệp kê khai sẽ hữu ích –

+0

Đã thêm mã kê khai. – Jaeger

+0

xóa dòng này khỏi thẻ ứng dụng biểu trưng android: supportRtl = "true" –

Trả lời

8

Một thư viện mà tôi sử dụng (SliderLayout), có một mã mà buộc ứng dụng hiển thị RTL. Trong lần ra mắt đầu tiên, SliderLayout buộc RTL, nhưng nó không thay đổi cho đến khi tôi mở lại ứng dụng mà không loại bỏ hoàn toàn nó khỏi backstack.

Vấn đề ngớ ngẩn, nhưng vâng, đây là giải pháp.

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