Android SlidingDrawer – Top Down Style
Customizing components can be fun! ….and sometimes annoying when a component’s default behavior is not what you expect or even not equiped to do what you want. Recently had a project, where the SlidingDrawer component was supposed to animate/transition from the Top -> Down. Yah, realized its a sought after feature…(I’m so lame!..ahahah).
Steps:
- Include the easing interpolator package (source included in the given download link below)
- Use the new namespace (panel) in your Android view XML eg. xmlns:panel=”http://schemas.android.com/apk/res/org.panel”
- Use the tag set instead of the Android SlidingDrawer component!
File: main.xml
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:panel="http://schemas.android.com/apk/res/org.panel" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <org.panel.Panel android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/topPanel" android:paddingBottom="20dip" panel:position="top" panel:animationDuration="1000" panel:linearFlying="true" panel:openedHandle="@drawable/top_switcher_expanded_background" panel:closedHandle="@drawable/top_switcher_collapsed_background"> <Button android:id="@id/panelHandle" android:layout_width="fill_parent" android:layout_height="33dip" /> <LinearLayout android:id="@id/panelContent" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="From the Top -> Down" android:textSize="16dip" android:padding="4dip" android:textStyle="bold" /> <ImageView android:src="@drawable/android_skateboard" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </org.panel.Panel> </LinearLayout> </FrameLayout>
File: Test.java
package org.panel; import android.app.Activity; import android.os.Bundle; public class Test extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
1 comment:
Why would you post this without a link to the source code? org.panel.Panel is clearly a custom view class. If you are going to copy code from other sites to pass off as your own, at list provide a download link to the code! stop filling the internet with rubbish!
Post a Comment