Back to project page AndroidSlidingUpPanel.
The source code is released under:
Apache License
If you think the Android project AndroidSlidingUpPanel listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.sothree.slidinguppanel.demo; // ww w . j a v a 2s.c o m import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.text.Html; import android.text.method.LinkMovementMethod; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import com.sothree.slidinguppanel.SlidingUpPanelLayout; import com.sothree.slidinguppanel.SlidingUpPanelLayout.PanelSlideListener; import com.sothree.slidinguppanel.SlidingUpPanelLayout.PanelState; public class DemoActivity extends ActionBarActivity { private static final String TAG = "DemoActivity"; private SlidingUpPanelLayout mLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_demo); setSupportActionBar((Toolbar)findViewById(R.id.main_toolbar)); mLayout = (SlidingUpPanelLayout) findViewById(R.id.sliding_layout); mLayout.setPanelSlideListener(new PanelSlideListener() { @Override public void onPanelSlide(View panel, float slideOffset) { Log.i(TAG, "onPanelSlide, offset " + slideOffset); } @Override public void onPanelExpanded(View panel) { Log.i(TAG, "onPanelExpanded"); } @Override public void onPanelCollapsed(View panel) { Log.i(TAG, "onPanelCollapsed"); } @Override public void onPanelAnchored(View panel) { Log.i(TAG, "onPanelAnchored"); } @Override public void onPanelHidden(View panel) { Log.i(TAG, "onPanelHidden"); } }); TextView t = (TextView) findViewById(R.id.main); t.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mLayout.setPanelState(PanelState.COLLAPSED); } }); t = (TextView) findViewById(R.id.name); t.setText(Html.fromHtml(getString(R.string.hello))); Button f = (Button) findViewById(R.id.follow); f.setText(Html.fromHtml(getString(R.string.follow))); f.setMovementMethod(LinkMovementMethod.getInstance()); f.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("http://www.twitter.com/umanoapp")); startActivity(i); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.demo, menu); MenuItem item = menu.findItem(R.id.action_toggle); if (mLayout != null) { if (mLayout.getPanelState() == PanelState.HIDDEN) { item.setTitle(R.string.action_show); } else { item.setTitle(R.string.action_hide); } } return true; } @Override public boolean onPrepareOptionsMenu(Menu menu) { return super.onPrepareOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.action_toggle: { if (mLayout != null) { if (mLayout.getPanelState() != PanelState.HIDDEN) { mLayout.setPanelState(PanelState.HIDDEN); item.setTitle(R.string.action_show); } else { mLayout.setPanelState(PanelState.COLLAPSED); item.setTitle(R.string.action_hide); } } return true; } case R.id.action_anchor: { if (mLayout != null) { if (mLayout.getAnchorPoint() == 1.0f) { mLayout.setAnchorPoint(0.7f); mLayout.setPanelState(PanelState.ANCHORED); item.setTitle(R.string.action_anchor_disable); } else { mLayout.setAnchorPoint(1.0f); mLayout.setPanelState(PanelState.COLLAPSED); item.setTitle(R.string.action_anchor_enable); } } return true; } } return super.onOptionsItemSelected(item); } @Override public void onBackPressed() { if (mLayout != null && (mLayout.getPanelState() == PanelState.EXPANDED || mLayout.getPanelState() == PanelState.ANCHORED)) { mLayout.setPanelState(PanelState.COLLAPSED); } else { super.onBackPressed(); } } }