2013-09-27 65 views
16

Tôi đang xây dựng hình ảnh tùy chỉnh.Tôi sẽ đi qua nguồn Android, tôi muốn thoát khỏi thanh nút phím chức năng ở Android, Có thể một số hãy chuyển trực tiếp đến tệp nguồn để thay đổi? enter image description hereLàm thế nào để loại bỏ thanh nút ở màn hình dưới cùng

+1

Youtube thực hiện điều đó –

+2

@DjHacktoReborn Bạn đã đi đến kết luận như thế nào là không thể? Một số ứng dụng ít nhất ẩn thanh này vào các thời điểm khác nhau. – jwir3

Trả lời

20

Để kích hoạt/vô hiệu hóa chúng, như xa như tôi biết bạn chỉ cần phải chỉnh sửa build.prop:

qemu.hw.mainkeys=0 (show on screen buttons) 

hoặc

qemu.hw.mainkeys=1 (disable on screen buttons) 

Nếu dòng không tồn tại trong bạn build.prop, thêm nó ở phía dưới.

+0

Phiên bản build.prop này có luôn luôn tồn tại trên tất cả các thiết bị Android sử dụng các nút mềm hay nó có thể thay đổi tùy theo nhà sản xuất? – JohnyTex

6

Bạn không thể che giấu nó vĩnh viễn, tuy nhiên:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 

mã này ẩn các phím mềm đến khi người dùng tương tác với ứng dụng của bạn. Đây là thiết kế cố ý theo cách này, chỉ cần tưởng tượng, bạn không cung cấp bất kỳ ý nghĩa để thoát khỏi màn hình hiện tại và ẩn các phím, người dùng sẽ bị "mắc kẹt" trong một kết thúc một chiều.

Bạn có thể tìm thấy thêm here.

+0

Đây là giải pháp tạm thời, nhưng đây là giải pháp rất hữu ích cho trường hợp bình thường – Shri

+0

Welp, tôi không nhận thấy bạn đang tạo hình ảnh và nghĩ rằng bạn cần giải pháp trong ứng dụng. Vì vậy, rõ ràng, đây không phải là trường hợp sử dụng chính xác của bạn. :) – hundeva

+0

Cảm ơn, điều này đã giúp tôi chụp ảnh màn hình. Để ẩn thanh dưới cùng ngay cả sau khi tương tác với ứng dụng, tôi gọi phương thức này trong một vòng lặp chạy mỗi giây (một lần nữa, chỉ tạm thời khi tôi chụp ảnh màn hình). – VinceFior

-1

Tôi nghĩ rằng đây có thể

Để ẩn softkey Hãy thử getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); nhưng nó không phải đang làm việc trên máy tính bảng 4+.

3

Khi giới thiệu SureLock mới cho Samsung, Thanh đáy có thể bị vô hiệu hóa hoặc ẩn mà không cần root thiết bị. Tất cả bạn phải làm là cài đặt SureLock Lockdown cho Samsung và làm theo thủ tục được đề cập trong trang web sau đây,

http://www.42gears.com/blog/2013/07/disablehide-android-bottom-bar-without-rooting-samsung-galaxy-tablets/

Kiểm tra các link.It sau đây có thể giúp bạn tìm hiểu nó.

http://www.42gears.com/blog/2012/02/disable-bottom-bar-in-android-honeycomb-tablets-with-surelock/

1

Nếu bạn chỉ muốn thực hiện thanh điều hướng (thanh nút) ít mất tập trung, hãy thử youractivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)

4
getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
       | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 

sử dụng mã này trong onCreate. Nhưng điều này yêu cầu api lv hơn 19.

4

Ngoài câu trả lời của Aykut Burak SAFAK ở trên, bạn có thể đặt mã của mình trong sự kiện onWindowFocusChanged để đảm bảo rằng bất cứ khi nào Activity được lấy nét (ví dụ: sau khi mở khóa), nó giữ nguyên chế độ toàn màn hình .

@Override 
public void onWindowFocusChanged(boolean hasFocus){ 
    super.onWindowFocusChanged(hasFocus); 
    getWindow().getDecorView().setSystemUiVisibility(
      View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
        | View.SYSTEM_UI_FLAG_FULLSCREEN 
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
} 
0

Có bạn có thể bằng cách sử dụng này trong hoạt động của bạn:

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
     super.onWindowFocusChanged(hasFocus); 
    if (hasFocus) { 
     decorView.setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
       | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);} 
} 
5

Cách đơn giản nhất để có một ảnh chụp màn hình mà không có thanh điều hướng phía dưới là sử dụng một mô phỏng (AVD) và chỉnh sửa tập tin cấu hình của nó .

Đi tới .android/avd/virtual-device.avd

Sau đó, chỉnh sửa cấu hình.ini:

hw.mainKeys=yes 
hw.keyboard=yes 

Cả hai nên được thiết lập để "yes"

Để có thể nhìn thấy thanh một lần nữa, cài đặt chúng trở lại "không".

+0

Điều này hoạt động hoàn hảo để chụp ảnh quảng cáo cho các trình mô phỏng Android Studio mới hơn kết hợp với chế độ trình diễn thanh trạng thái. Trình giả lập mới không bắt nguồn từ, vì vậy bạn không thể sửa đổi build.prop dễ dàng, nhưng đây là giải pháp rất tốt. – Gira

+0

Không hoạt động với tôi, thay đổi các phím chính thành có bộ giả lập treo ở thời gian khởi động. Thay đổi trở lại không làm cho nó khởi động lại. Nexus 5X API 26 – thanhbinh84

+2

@ thanhbinh84 gặp vấn đề tương tự nhưng hoạt động tốt với API Pixel 23 –

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