2010-05-14 2 views
1

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

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

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

Спасибо,

+0

SlidingDrawer уже доступен на Android. Даже если вы хотите создать его, посмотрите на реализацию Android. – Karan

+0

Я знаю, но я не понимаю, как использовать этот конструктор SlidingDrawer (контекст контекста, AttributeSet attrs) Как вы создаете атрибутный набор? – Alex

ответ

2

Это выглядит как SlidingDrawer не может быть создан непосредственно в Java коде. Вам нужно будет определить его в макете XML и раздуть этот макет.

Извините!

+0

Хорошо спасибо за ответ – Alex

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