คำถามติดแท็ก android-support-library

ไลบรารีการสนับสนุน Android ประกอบด้วย API ที่แบ็คพอร์ตจากแพลตฟอร์มและ API รุ่นใหม่ที่มีฟังก์ชันยูทิลิตี้

6
เพิ่มไลบรารีการสนับสนุนในโครงการ Android Studio
ฉันเพิ่งติดตั้ง Android Studio ใหม่และกำลังหาวิธีนำเข้าไลบรารีการสนับสนุนสำหรับ Android ตัวเลือกนั้นอยู่ที่ไหน? ใน Eclipse ที่มีเพียงสองคลิก ฉันไปหามัน แต่ไม่พบอะไรเลย แน่นอนว่ามันใหม่เกินไป

19
ViewPager ใน NestedScrollView
ฉันต้องการสร้างอินเทอร์เฟซเช่น Google Newsstand ซึ่งเป็น ViewPager ประเภทหนึ่ง (เลื่อนแนวนอน) บนส่วนหัวที่ยุบลง (เลื่อนแนวตั้ง) ข้อกำหนดอย่างหนึ่งของฉันคือการใช้ไลบรารีการสนับสนุนการออกแบบใหม่ที่นำเสนอใน Google IO 2015 ( http://android-developers.blogspot.ca/2015/05/android-design-support-library.html ) จากตัวอย่างที่สร้างโดย Chris Banes ( https://github.com/chrisbanes/cheesesquare ) ฉันมาถึงจุดที่ฉันสามารถทำพฤติกรรมการยุบตัวได้ แต่ด้วย LinearLayout พื้นฐาน (ไม่มีการเลื่อนแนวนอน) ฉันพยายามแทนที่ LinearLayout ด้วย ViewPager และได้หน้าจอว่างเปล่า ฉันเล่นกับ: ความกว้างน้ำหนักและกลุ่มมุมมองทุกประเภท แต่ .... ยังคงเป็นหน้าจอว่างเปล่า ดูเหมือนว่า ViewPager และ NestedScrollView จะไม่ชอบกันและกัน ฉันลองวิธีแก้ปัญหาโดยใช้ HorizontalScrollView มันใช้งานได้ แต่ฉันใช้ประโยชน์จากคุณสมบัติ PagerTitleStrip และโฟกัสไปที่แผงเดียว (ฉันสามารถหยุดแนวนอนระหว่าง 2 …

12
วิธีเปลี่ยนสีไอคอนหน้าแรกของ Toolbar
ฉันใช้ android.support.v7.widget.Toolbar และเรียนรู้จากโพสต์นี้ว่าจะเปลี่ยนสีของไอคอนแฮมเบอร์เกอร์เป็นสีขาวได้อย่างไร แต่ลูกศรขึ้น / กลับยังคงเป็นสีเข้มเมื่อฉันโทร setDisplayHomeAsUpEnabled(true); ฉันจะทำให้ลูกศรเป็นสีขาวได้อย่างไร? นี่คือลักษณะของแถบเครื่องมือของฉันเมื่อฉันเรียก setDisplayHomeAsUpEnabled (): ... และนี่คือส่วนที่เกี่ยวข้องของไฟล์ styles.xml ของฉัน: <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">#194C5F</item> <item name="colorAccent">@color/accent</item> <item name="drawerArrowStyle">@style/WhiteDrawerIconStyle</item> </style> <style name="WhiteDrawerIconStyle" parent="Widget.AppCompat.DrawerArrowToggle"> <item name="spinBars">true</item> <item name="color">@android:color/white</item> </style>

10
วิธีรับ Toolbar จากแฟรกเมนต์
ฉันต้องActionBarActivityมีNavigationDrawerและการใช้ support_v7 Toolbarเป็น ActionBar ในแถบเครื่องมือเศษชิ้นส่วนของฉันมีมุมมองที่กำหนดเอง ในส่วนอื่น ๆToolbarควรแสดงชื่อเรื่อง วิธีรับToolbarอินสแตนซ์สำหรับการปรับแต่งจากชิ้นส่วน? ฉันสามารถรับ ActionBar ได้getActivity().getActionBar()แต่ถ้าฉันเรียกsetTitle()อินสแตนซ์นี้ว่า ActionBar จะไม่ทำอะไรเลย UPD: ในกรณีของฉัน ((ActionBarActivity) getActivity()).getSupportActionBar().setTitle(); (ตามที่ MrEngineer13 กล่าว) ไม่ทำงานในการสร้างส่วนแรกเพราะฉันเรียกมันจาก onHiddenChanged () ตอนนี้ฉันเพิ่มอีกหนึ่งรายการใน onCreateView () และใช้งานได้ดี

6
getSupportActionBar จากด้านในของ Fragment ActionBarCompat
ฉันเริ่มโครงการใหม่ที่ใช้AppCompat/ActionBarCompatในการv7สนับสนุนห้องสมุด ฉันกำลังพยายามหาวิธีใช้getSupportActionBarจากภายในส่วน กิจกรรมของฉันที่โฮสต์แฟรกเมนต์ขยายออกไปActionBarActivityแต่ฉันไม่เห็นคลาสการสนับสนุนที่คล้ายกันสำหรับ Fragments จากภายในส่วนของฉัน public class CrimeFragment extends Fragment { //... getActivity().getSupportActionBar().setSubtitle(R.string.subtitle); // getSupportActionBar is not defined in the v4 version of Fragment //... } หน้า Google สำหรับใช้งาน ( http://android-developers.blogspot.in/2013/08/actionbarcompat-and-io-2013-app-source.html ) ระบุว่าไม่ควรมีการเปลี่ยนแปลงสำหรับv4ส่วนย่อย ฉันจำเป็นต้องส่งgetActivity()สายทั้งหมดไปที่ActionBarActivity? ดูเหมือนว่าการออกแบบที่ไม่ดี

28
ปิดการใช้งานผู้ใช้ลากบน BottomSheet
BottomSheetฉันพยายามที่จะปิดการใช้งานของผู้ใช้ในการลาก เหตุผลที่ฉันต้องการปิดการใช้งานมีสองอย่าง 1. มันป้องกันไม่ให้ListViewเลื่อนลง 2. ฉันไม่ต้องการให้ผู้ใช้ปิดโดยใช้การลาก แต่มีปุ่มบนBottomSheetView. นี่คือสิ่งที่ฉันเคยทำ bottomSheetBehavior = BottomSheetBehavior.from(bottomAnc); bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { if (newState == BottomSheetBehavior.STATE_EXPANDED) { //Log.e("BottomSheet", "Expanded"); } else if (newState == BottomSheetBehavior.STATE_COLLAPSED) { //Log.e("BottomSheet", "Collapsed"); } } @Override public void onSlide(@NonNull View bottomSheet, float slideOffset) { …

13
Appcompatv7 - v21 ลิ้นชักการนำทางไม่แสดงไอคอนแฮมเบอร์เกอร์
ฉันใช้ลิ้นชักการนำทางสไตล์อมยิ้มกับไลบรารีสนับสนุน appcompat ล่าสุด แต่ปัญหาคือไอคอนแฮมเบอร์เกอร์ไม่ปรากฏขึ้น แสดงเฉพาะไอคอนย้อนกลับ นี่คือรหัสกิจกรรมของฉัน import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.widget.Toolbar; import android.view.View; public class Home extends ActionBarActivity { private DrawerLayout mDrawerLayout; private ActionBarDrawerToggle mDrawerToggle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); initViews(); } private void initViews(){ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); mDrawerLayout = …

11
ViewPager.setOffscreenPageLimit (0) ไม่ทำงานตามที่คาดไว้
ชิ้นส่วนที่ฉันใช้ในViewPagerอินสแตนซ์ของฉันค่อนข้างใช้ทรัพยากรมากดังนั้นฉันจึงต้องการโหลดทีละชิ้นเท่านั้น เมื่อฉันลองทำสิ่งต่อไปนี้: mViewPager.setOffscreenPageLimit(0); mViewPager.setAdapter(mPagerAdapter); ฉันFragmentStatePagerAdapter.getItem(int position)ฟังก์ชั่นการแทนที่เรียกว่า 3 mViewPager.setOffscreenPageLimit(1)ครั้งซึ่งเป็นสิ่งที่เกิดขึ้นเมื่อผมเรียก ฉันคาดว่ามันจะถูกเรียกเพียงครั้งเดียวเพราะฉันระบุ 0 หน้านอกหน้าจอ ฉันเชื่อว่าฉันโทรทุกอย่างถูกต้องเพราะถ้าผมเรียกmViewPager.setOffscreenPageLimit(2), FragmentStatePagerAdapter.getItem(int position)เรียกว่า 5 ครั้งเท่าที่ผมจะคาดหวัง ViewPager ต้องการเพจออฟสกรีนอย่างน้อย 1 เพจหรือว่าฉันทำอะไรผิดที่นี่?

16
ส่วนที่ซ้อนกันจะหายไปในระหว่างการเปลี่ยนภาพเคลื่อนไหว
นี่คือสถานการณ์: กิจกรรมมีชิ้นส่วนAซึ่งจะใช้getChildFragmentManager()ในการเพิ่มชิ้นส่วนA1และA2ในonCreateลักษณะนี้: getChildFragmentManager() .beginTransaction() .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) .commit() จนถึงตอนนี้ดีมากทุกอย่างดำเนินไปตามที่คาดไว้ จากนั้นเราจะเรียกใช้ธุรกรรมต่อไปนี้ในกิจกรรม: getSupportFragmentManager() .beginTransaction() .setCustomAnimations(anim1, anim2, anim1, anim2) .replace(R.id.fragmentHolder, new FragmentB()) .addToBackStack(null) .commit() ในระหว่างการเปลี่ยนแปลงที่enterภาพเคลื่อนไหวสำหรับชิ้นส่วนBทำงานได้อย่างถูกต้อง แต่เศษ A1 และ A2 หายไปอย่างสิ้นเชิง เมื่อเราเปลี่ยนกลับธุรกรรมด้วยปุ่มย้อนกลับการทำธุรกรรมจะเริ่มต้นอย่างถูกต้องและแสดงตามปกติในระหว่างการpopEnterเคลื่อนไหว ในการทดสอบสั้น ๆ ของฉันมันแปลกกว่า - ถ้าฉันตั้งค่าภาพเคลื่อนไหวสำหรับชิ้นส่วนย่อย (ดูด้านล่าง) exitภาพเคลื่อนไหวจะทำงานเป็นระยะ ๆ เมื่อเราเพิ่มส่วนB getChildFragmentManager() .beginTransaction() .setCustomAnimations(enter, exit) .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) …

26
ไม่สามารถแก้ไข: com.android.support:cardview-v7:26.0.0 android
ฉันพยายามเพิ่ม Recyclerview ในโปรเจ็กต์ของฉันและได้รับข้อผิดพลาดนี้ปรากฏขึ้นและฉันเพิ่มมันจากการอ้างอิงของ android studio

27
แถบสถานะจะเปลี่ยนเป็นสีขาวและไม่แสดงเนื้อหาด้านหลัง
ฉันกำลังทดลองใช้ AppCompat บน Marshmallow และฉันต้องการให้แถบสถานะโปร่งใส แต่มันจะเปลี่ยนเป็นสีขาว ฉันได้ลองใช้วิธีแก้ปัญหาสองสามวิธี แต่ไม่ได้ผลสำหรับฉัน ( แถบสถานะโปร่งใสไม่ทำงานกับ windowTranslucentNavigation = "false" , Lollipop: วาดด้านหลัง statusBar โดยกำหนดสีเป็นโปร่งใส ) นี่คือรหัสที่เกี่ยวข้อง styles.xml ของฉัน <style name="Bacon" parent="Theme.Bacon"/> <style name="Theme.Bacon" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/theme_primary</item> <item name="colorPrimaryDark">@color/theme_primary_dark</item> <item name="colorAccent">@color/theme_accent</item> <item name="windowActionBar">false</item> <item name="windowActionBarOverlay">true</item> <item name="windowNoTitle">true</item> <item name="android:windowBackground">@color/background_material_light</item> </style> <style name="Theme.Bacon.Detail" parent="Bacon"/> v21 <style name="Bacon" parent="Theme.Bacon"> …

5
คำอธิบายประกอบ Android NeedApi กับ TargetApi
อะไรคือความแตกต่างระหว่างRequiresApiและTargetApi? ตัวอย่างใน Kotlin: @RequiresApi(api = Build.VERSION_CODES.M) @TargetApi(Build.VERSION_CODES.M) class FingerprintHandlerM() : FingerprintManager.AuthenticationCallback() หมายเหตุ: FingerprintManager.AuthenticationCallbackต้องใช้ apiM หมายเหตุ 2: หากฉันไม่ใช้ผ้าสำลี TargetApi ล้มเหลวโดยมีข้อผิดพลาด class requires api level 23...

7
ข้อผิดพลาด: ปัญหาการแสดงผลไม่พบคลาสต่อไปนี้ android.support.v7.internal.widget.ActionBarOverlayLayout
ฉันเพิ่งเริ่มต้นพัฒนาแอพ android เมื่อฉันสร้างโปรเจ็กต์ใหม่บน Android Studio 1.1.0 มันแสดงข้อผิดพลาดนี้ " ปัญหาในการแสดงผลไม่พบคลาสต่อไปนี้ android.support.v7.internal.widget.ActionBarOverlayLayout " ตอนนี้ฉันได้ค้นหาเกี่ยวกับสิ่งนี้ใน google แล้วและฉันพบว่าอาจมี 3 วิธีแก้ปัญหาที่คนส่วนใหญ่มอบให้ พวกเขากล่าวว่า: เปลี่ยน api (จากบานหน้าต่างแสดงตัวอย่าง) จาก 22 เป็น 21 หรือ เปลี่ยนธีมแอพจาก "ธีมโครงการ" เป็นธีมอื่น ๆ ตรวจสอบให้แน่ใจว่าได้นำเข้าไลบรารี appcompat-v7 ที่ถูกต้องในโครงสร้างโปรเจ็กต์ของคุณ -> การอ้างอิง อ้างอิงขั้นตอนเหล่านี้ : เพิ่มตัวระบุโปรเจ็กต์ฟีเจอร์ไลบรารีสนับสนุนในส่วนการอ้างอิง ตัวอย่างเช่นหากต้องการรวมโปรเจ็กต์ appcompat ให้เพิ่มคอมไพล์ "com.android.support:appcompat-v7:18.0.+" ลงในส่วนการอ้างอิงดังที่แสดงในตัวอย่างต่อไปนี้: dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" } หมายเหตุ: lib …

22
วิธีตั้งค่าสีข้อความแถบสนับสนุนไลบรารีเป็นอย่างอื่นที่ไม่ใช่ android: textColor?
ดังนั้นฉันจึงเริ่มใช้ Snackbar ใหม่ใน Design Support Library แต่ฉันพบว่าเมื่อคุณกำหนด "android: textColor" ในธีมของคุณจะมีผลกับสีข้อความของสแน็คบาร์ เห็นได้ชัดว่าเป็นปัญหาหากสีข้อความหลักของคุณมืด มีใครรู้วิธีแก้ปัญหานี้หรือมีคำแนะนำว่าฉันควรระบายสีข้อความอย่างไร แก้ไขมกราคม 2560: (หลังคำตอบ) แม้ว่าจะมีวิธีแก้ไขปัญหาแบบกำหนดเองบางอย่างเพื่อแก้ไขปัญหาด้านล่าง แต่ก็น่าจะดีที่จะจัดหาวิธีที่ถูกต้องในการจัดธีม Snackbars ประการแรกคุณอาจไม่ควรกำหนดandroid:textColorธีมของคุณเลย (เว้นแต่คุณจะทราบขอบเขตของสิ่งที่ใช้ธีม) สิ่งนี้จะกำหนดสีข้อความของทุกมุมมองที่เชื่อมต่อกับธีมของคุณ หากคุณต้องการกำหนดสีข้อความในมุมมองที่ไม่ใช่ค่าเริ่มต้นให้ใช้android:primaryTextColorและอ้างอิงแอตทริบิวต์นั้นในมุมมองแบบกำหนดเองของคุณ อย่างไรก็ตามสำหรับการนำธีมไปใช้Snackbarโปรดอ้างอิงคู่มือคุณภาพนี้จากเอกสารของบุคคลที่สาม: http://www.materialdoc.com/snackbar/ (ปฏิบัติตามการใช้ธีมแบบเป็นโปรแกรมเพื่อให้มันไม่ต้องพึ่งพารูปแบบ xml) สำหรับการอ้างอิง: // create instance Snackbar snackbar = Snackbar.make(view, text, duration); // set action button color snackbar.setActionTextColor(getResources().getColor(R.color.indigo)); // get snackbar view View snackbarView = snackbar.getView(); …

7
CoordinatorLayout คืออะไร?
เพิ่งดูแอปสาธิตของไลบรารีการออกแบบการสนับสนุน Android ใหม่ มันให้โดยคริส Banes บนGitHub แอปพลิเคชันCoordinatorLayoutถูกใช้อย่างหนัก นอกจากนี้หลายของการออกแบบการเรียนการสนับสนุนห้องสมุดเช่นFloatingActionButton, SnackBar, AppBarLayoutฯลฯ CoordinatorLayoutทำงานแตกต่างกันเมื่อใช้ภายใน คนที่สามารถกรุณาหลั่งไฟบางอย่างเกี่ยวกับสิ่งที่เป็นCoordinatorLayoutและวิธีการที่แตกต่างจากคนอื่น ๆในหุ่นยนต์หรืออย่างน้อยให้เส้นทางที่ถูกต้องต่อการเรียนViewGroupCoordinatorLayout

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.