Как создать выдвижной ящик в коде?

1

Я пытаюсь создать скользящий ящик в коде, но я не понимаю, что делать для части AttributeSet конструктора.

Что мне нужно сделать для этого?

Также, как определить код, где будет отображаться ползунок?

Спасибо,

  • 0
    SlidingDrawer уже доступен в Android. Даже если вы хотите его создать, посмотрите на реализацию Android.
  • 0
    Я знаю, но я не понимаю, как использовать этот конструктор SlidingDrawer (Контекст контекста, атрибуты AttributeSet) Как создать набор атрибутов?
Теги:
set
attributes
slidingdrawer

2 ответа

7

SlidingDrawer не может быть новым в Java-коде, потому что он должен определять дескриптор и содержимое, но вы можете раздуть его в XML-макете следующим образом:

sliding_drawer.xml:

<?xml version="1.0" encoding="utf-8"?>
<SlidingDrawer
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:handle="@+id/handle"
    android:content="@+id/content">
    <ImageView
        android:id="@id/handle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/tray_handle_bookmark"
        />
    <LinearLayout
        android:id="@id/content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#FF000000"
        />
</SlidingDrawer>

В коде Java:

// you main Layout
LinearLayout mainLayout = new LinearLayout(this);
        mainLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
        mainLayout.setOrientation(LinearLayout.VERTICAL);

// add sliding Drawer
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        slidingDrawer = (SlidingDrawer)inflater.inflate(R.layout.sliding_drawer, mainLayout, false);
        mainLayout.addView(slidingDrawer);

// get Layout for place your content in sliding drawer
LinearLayout slideContent = (LinearLayout)slidingDrawer.findViewById(R.id.content);

slideContent.addView(.....); // add your view to slideDrawer
2

Похоже, что SlidingDrawer не может быть создан непосредственно в Java-коде. Вам нужно будет определить его в макете XML и раздуть этот макет.

К сожалению!

  • 0
    Хорошо, спасибо за ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню