ขณะที่ฉันทำอะไรบางอย่างกับแอพของฉันฉันเห็นว่าลิ้นชักการนำทางในแอพของฉันลดขนาดลง แต่ฉันไม่ได้ทำอะไรเลย
จากนั้นหลังจากตรวจสอบรหัสฉันเห็นว่า setDrawerListener เลิกใช้แล้ว ใครบ้างมีวิธีแก้ปัญหานี้?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
ขณะที่ฉันทำอะไรบางอย่างกับแอพของฉันฉันเห็นว่าลิ้นชักการนำทางในแอพของฉันลดขนาดลง แต่ฉันไม่ได้ทำอะไรเลย
จากนั้นหลังจากตรวจสอบรหัสฉันเห็นว่า setDrawerListener เลิกใช้แล้ว ใครบ้างมีวิธีแก้ปัญหานี้?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
คำตอบ:
ใช้addDrawerListener()แทน
removeDrawerListener()ดังนั้นจึงadd...ถูกเสนอชื่อให้จับคู่
use 'addDrawerListener' insteadในข้อความที่เลิกใช้แล้ว!
แทนที่:
drawer.setDrawerListener(...);
กับ
drawer.addDrawerListener(...);
public void setDrawerListener(DrawerLayout.DrawerListener listener)ตั้งค่า listener เพื่อรับการแจ้งเตือนของเหตุการณ์ drawerโปรดทราบว่าวิธีการนี้เลิกใช้แล้วและคุณควรใช้
addDrawerListener(DrawerLayout.DrawerListener)เพื่อเพิ่มฟังและremoveDrawerListener(DrawerLayout.DrawerListener)ลบผู้ฟังที่ลงทะเบียน
onCreate()และคุณหมุนหน้าจอกิจกรรมทั้งหมดจะถูกสร้างขึ้นใหม่และตั้งค่าฟังใหม่ กรณีที่ซับซ้อนมากขึ้นควรได้รับการจัดการโดยคิดว่า (อาจ) ไม่จำเป็นต้องตั้งค่าฟังมากกว่า 1 DrawerLayoutรายการ
แทนที่ setDrawerListener
drawerLayout.setDrawerListener(actionBarDrawerToggle);
กับ addDrawerListener
drawerLayout.addDrawerListener(actionBarDrawerToggle);
ตัวอย่าง
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
assert drawer != null;
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
assert navigationView != null;
navigationView.setNavigationItemSelectedListener(this);
ฉันเดาว่าฉันจะตอบคำถามของฉัน ล่าสุดnavigationViewผลิตเริ่มต้นandroid:layout_heightที่เกือบเมื่อคุณเลือก18dp "wrap_content"ดังนั้นคุณต้องเลือกandroid:layout_heightที่คุณต้องการสำหรับคุณหรือเพียงแค่ทำให้navigationViewandroid:layout_height="match_parent"
<android.support.design.widget.NavigationView
android:layout_width="320dp"
android:layout_height="550dp"
android:id="@+id/navigation_view_admin"
android:layout_gravity="start">
</android.support.design.widget.NavigationView>
อย่างไรก็ตามความสูงจะเพิ่มขึ้นโดยอัตโนมัติเมื่อคุณเพิ่มรายการในลิ้นชักการนำทาง
สุดท้ายใช้addDrawerListener()แทนsetDrawerListener()Luxi Liu กล่าว