2016-04-15 17 views
6

Tôi mới sử dụng Android và một chút nhầm lẫn ngay bây giờ.Tôi có cần thư viện hỗ trợ AppCompatActivity & v7 với sdk tối thiểu 21 không?

Sau khi thiết lập dự án mới với min sdk 21 (Android 5.0) trong studio android, theo mặc định, main_activity của tôi mở rộng AppCompatActivity mà lúc đầu không có vấn đề gì. Tôi đã cố gắng thiết lập Tài liệu. Chủ đề màu tối như được hiển thị here nhưng @android:style/Theme.Material không hoạt động với AppCompatActivity. Nó hoạt động ngay bây giờ khi main_activity chỉ kéo dài Activity.

Tôi có cần AppCompatActivity với sdk phút 21 nếu tôi muốn sử dụng các tính năng như Action Bar hoặc là nó ok để chỉ kéo dài từ Activity, tôi nghĩ rằng AppCompatActivity & v7 Support Libraries ở đó để hỗ trợ các phiên bản sdk thấp để có thể sử dụng thiết kế Vật liệu , tôi đang thiếu gì?

Nếu AppCompatActivity không cần thiết ở cấp sdk 21 trở lên tại sao studio android sẽ đặt mặc định là ngay cả khi 21 được đặt làm sdk tối thiểu?

Tôi đoán một câu hỏi chính mà tôi có là, cách tốt nhất để sử dụng Chủ đề thiết kế Material design như được giải thích here kết hợp với AppCompatActivity mà Android Studio sử dụng theo mặc định.

+0

thể bạn chọn câu trả lời? –

+1

Nó chỉ được trả lời một phần, tôi vẫn không chắc chắn về cách thực hành tốt nhất ở đây. Và kể từ khi tôi muốn được ở bên tiết kiệm, tôi quyết định gắn bó với Appcompat và ngừng tìm câu trả lời. –

Trả lời

0

Không, nhưng có một số giao diện đẹp trong thư viện hỗ trợ designsupport-v4 mà bạn có thể muốn.

Thiết kế:

  • NavigationView

Hỗ trợ-v4:

  • DrawerLayout

Và nếu bạn đang đi tuyến đường này và muốn sử dụng "bình thường" FragmentsViewPager, bạn cần sử dụng support-v13.

+0

Cảm ơn bạn đã trả lời, tôi chắc chắn muốn một ngăn điều hướng/NavigationView? Nhưng không nên có thể sử dụng trong api 21 (5.0) nguyên bản mà không cần sử dụng AppCompat? Tôi vẫn còn rất không chắc chắn về những gì thực hành tốt nhất là sử dụng '@android: style/Theme.Material' bởi vì nó không hoạt động với 'AppCompat' vì đó là điều chính tôi muốn. –

+0

Có, nó không cần 'AppCompat' nó cần thư viện' design'. 'NavigationView' nằm trong thư viện' design'. –

1

Thư viện hỗ trợ là cần thiết nếu bạn muốn cung cấp chức năng SDK của người mới cho các nền tảng cũ hơn. Nếu minSDK = 5 thì bạn chỉ cần thư viện hỗ trợ nếu chúng chứa thứ gì đó không được bao gồm trong android SDK

+0

Cảm ơn bạn, để làm rõ tôi đang sử dụng SDK API tối thiểu 21 (Lollipop), nhưng studio android vẫn mở rộng main_Activity từ AppCompatActivity theo mặc định, không tương thích với chủ đề Material Design được giới thiệu trong API 21. Tôi chỉ đang cố gắng tìm ra cách thực hành tốt nhất hoặc cách sử dụng chủ đề vật chất đúng cách. –

1

Có 5, bạn nên sử dụng các thư viện và đoạn mã ứng dụng tương thích.

Có các sửa lỗi được nhóm trong thư viện hỗ trợ. Bằng cách này, Google có thể sửa lỗi trong Android mà không phải chờ mọi người cập nhật điện thoại của họ.

Đó là thực tế tốt nhất để sử dụng các thư viện hỗ trợ, bao gồm AppCompat và FragmentCompat

Liên quan đến chủ đề, chủ đề của bạn sẽ trông như thế này

<style name="AppTheme" parent="Theme.AppCompat">

thấy điều này https://medium.com/google-developers/theming-with-appcompat-1a292b754b35#.988b91sl1

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