Özel Denetimler

Özel denetimleri kullanarak gezinme görünümünün üstüne kendi kullanıcı arayüzü öğelerinizi ekleyebilirsiniz. Gezinme SDK'sı, yerleşik düzen değiştikçe özel denetimlerinizi otomatik olarak yeniden konumlandırır.

Her konum için bir özel denetim ayarlayabilirsiniz. Özel kontrol, bir kullanıcı arayüzü öğesi olabilir veya tasarımınız daha fazla kullanıcı arayüzü öğesi gerektiriyorsa birden fazla kullanıcı arayüzü öğesi içeren bir ViewGroup kullanabilirsiniz.

setCustomControl yöntemi, CustomControlPosition sıralamasında tanımlandığı gibi konumları sağlar:

  • SECONDARY_HEADER (yalnızca dikey modda görünür)
  • BOTTOM_START_BELOW
  • BOTTOM_END_BELOW

Aşağıdaki resimde, sürücüye sürücünün konumuyla ilgili bilgi veren kullanıcı arayüzü kontrolünün yerleştirildiği konuma ilişkin örnekler verilmiştir.

Özel Denetim Konumları

Birincil başlığın altına özel denetim ekleme

Varsayılan olarak, düzenler birincil başlığın altında bir Sonraki ok veya şerit rehberi gösterir. Uygulamanız, varsayılan düzeni, ikincil başlık konumuna ayarlanmış özel bir denetimle değiştirebilir. Bu denetim, gezinme görünümünün üst kısmındaki varsayılan içeriğin yerini alır. Görünümünüzün arka planı varsa bu arka plan yerinde kalır. Uygulamanız özel içeriği kaldırdığında, onun yerine varsayılan içerik görünür.

Bu konum, birincil harita başlığının altındadır ve üst kenar, birincil başlığın alt kenarıyla hizalanır. Varsayılan ikincil üstbilgi gizlidir. Bu konum yalnızca portrait mode dilinde desteklenir. landscape mode ürününde ikincil başlık kullanılamaz ve düzen değişmez.

  1. Özel kullanıcı arayüzü öğesi veya ViewGroup ile bir Android View oluşturun.
  2. İkincil üstbilgi olarak eklemek üzere görünümün bir örneğini almak için xml'yi şişirin veya özel görünümü somutlaştırın.
  3. SECONDARY_HEADER olarak NavigationView.setCustomControl veya NavigationFragment.setCustomControl ile CustomControlPosition özelliğini kullanın.

    Aşağıdaki örnek bir parça oluşturur ve ikincil üstbilgi konumuna özel denetim ekler.

     mNavFragment.setCustomControl(getLayoutInflater().
       inflate(R.layout.your_custom_control, null),
          CustomControlPosition.SECONDARY_HEADER);
    

İkincil üstbilgiyi kaldırma

İkincil üstbilgiyi kaldırıp varsayılan içeriğe dönmek istediğinizde setCustomControl yöntemini kullanın.

  • Görünümü kaldırmak için görünümü boş olarak ayarlayın.

    mNavFragment.setCustomControl(null, CustomControlPosition.SECONDARY_HEADER);
    

Gezinme görünümünün üst kısmına özel denetim ekleme

Uygulamanız, görünümün alt kenarıyla uyumlu şekilde özel bir denetim belirtebilir. Uygulamanız özel denetimi eklediğinde, yeniden ortala düğmesi ve Google logosu özel kontrole uyacak şekilde yukarı hareket eder.

  1. Eklemek istediğiniz kullanıcı arayüzü öğesi veya görünüm grubuyla bir Android Görünümü oluşturun.
  2. Gezinme görünümünü veya parçasını oluşturun.
  3. Gezinme görünümünde veya parçasında setCustomControl yöntemini çağırın ve kontrolü ve kullanılacak konumu belirtin.

Aşağıdaki örnekte, NavigationFragment öğesine eklenmiş bir özel View gösterilmektedir:

  private NavigationFragment mNavFragment;
    mNavFragment = (NavigationFragment)
      getFragmentManager().findFragmentById(R.id.navigation_fragment);

    // Create the custom control view.
    MyCustomView myCustomView = new MyCustomView();

    // Add the custom control to the bottom end corner of the layout.
    mNavFragment.setCustomControl(myCustomView, CustomControlPosition.
       BOTTOM_END_BELOW);

Özel denetimleri kaldırma

Özel kontrolü kaldırmak istediğinizde setCustomControl yöntemini kullanın ve kaldırmak istediğiniz kontrolün konumunu belirtin.

  • Bu konum için görünümü null olarak ayarlayın.

    mNavFragment.setCustomControl(null, CustomControlPosition.BOTTOM_END_BELOW);