Computer >> Máy Tính >  >> Lập trình >> Android

Làm cách nào để có được hướng màn hình hiện tại trong Android?

Trong một số tình huống, chúng ta cần tìm định hướng hoạt động cho android. Ví dụ này trình bày cách tích hợp Đăng nhập Android và biểu mẫu đăng ký.

Bước 1 - Tạo một dự án mới trong Android Studio, đi tới Tệp ⇒ Dự án Mới và điền tất cả các chi tiết cần thiết để tạo một dự án mới.

Bước 2 - Thêm mã sau vào res / layout / activity_main.xml.

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
   android:id = "@+id/parent"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:layout_height = "match_parent"
   tools:context = ".MainActivity"
   android:gravity = "center"
   android:orientation = "vertical">
   <TextView
      android:id = "@+id/text"
      android:textSize = "28sp"
      android:textAlignment = "center"
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content" />
</LinearLayout>

Trong đoạn mã trên, chúng ta đã có một chế độ xem văn bản. Theo hướng màn hình, chế độ xem văn bản sẽ cập nhật văn bản.

Bước 3 - Thêm mã sau vào src / MainActivity.java

package com.example.andy.myapplication;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
   int view = R.layout.activity_main;
   TextView textview;
   @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(view);
      textview = findViewById(R.id.text);
      int orientation = this.getResources().getConfiguration().orientation;
      if (orientation = = Configuration.ORIENTATION_PORTRAIT) {
         textview.setText("Portrait mode");
      } else {
         textview.setText("landscape mode");
      }
   }
}

Trong đoạn mã trên, chúng tôi đã lấy hướng là số nguyên và so sánh với định hướng định cấu hình như hình dưới đây -

int orientation = this.getResources().getConfiguration().orientation;
if (orientation = = Configuration.ORIENTATION_PORTRAIT) {
   textview.setText("Portrait mode");
} else {
   textview.setText("landscape mode");
}

Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị Di động Android thực tế với máy tính của mình. Để chạy ứng dụng từ android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn, sau đó kiểm tra thiết bị di động sẽ hiển thị màn hình mặc định của bạn -

Làm cách nào để có được hướng màn hình hiện tại trong Android?

Khi người dùng giữ thiết bị di động ở chế độ dọc, nó sẽ hiển thị kết quả như hình trên. Bây giờ bạn hãy chuyển máy sang chế độ nằm ngang, nó sẽ hiện ra kết quả như hình bên dưới -

Làm cách nào để có được hướng màn hình hiện tại trong Android?