1.res/layout/activity_main.xml
2.MainActivity.java
package tw.android;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.SlidingDrawer;
import android.widget.SlidingDrawer.OnDrawerCloseListener;
import android.widget.SlidingDrawer.OnDrawerOpenListener;
import android.widget.Toast;
@SuppressWarnings("deprecation")
public class MainActivity extends Activity {
private EditText etT, etB, etL, etR, etRotation;
private Button btConfirm;
private SlidingDrawer sd;
private int left, top, right, bottom;
/** Called when the activity is first created. */
@SuppressLint("ShowToast")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etT = (EditText) findViewById(R.id.etT);
etB = (EditText) findViewById(R.id.etB);
etL = (EditText) findViewById(R.id.etL);
etR = (EditText) findViewById(R.id.etR);
etRotation = (EditText) findViewById(R.id.etRotation);
btConfirm = (Button) findViewById(R.id.btConfirm);
sd = (SlidingDrawer) findViewById(R.id.sd);
/* 確認輸入 */
btConfirm.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
/* 輸入SlidingDrawer距離上方位置 */
left = Integer.parseInt(etL.getText().toString()); // 左
top = Integer.parseInt(etT.getText().toString()); // 上
right = Integer.parseInt(etR.getText().toString()); // 右
bottom = Integer.parseInt(etB.getText().toString()); // 下
if (left > 1000 || top > 1000 || right > 1000 || bottom > 1000) {
Toast.makeText(getApplicationContext(), "不可大於1000",
Toast.LENGTH_SHORT).show();
} else {
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(left, top, right, bottom);
sd.setLayoutParams(lp);
/* 輸入SlidingDrawer旋轉角度 */
sd.setRotation(Integer.parseInt(etRotation.getText()
.toString()));
Toast.makeText(getApplicationContext(), "輸入完成",
Toast.LENGTH_SHORT).show();
}
}
});
/* 打開監聽動作 */
sd.setOnDrawerOpenListener(new OnDrawerOpenListener() {
public void onDrawerOpened() {
Toast.makeText(getApplicationContext(), "我被拉開了",
Toast.LENGTH_SHORT).show();
;
}
});
/* 關閉監聽動作 */
sd.setOnDrawerCloseListener(new OnDrawerCloseListener() {
public void onDrawerClosed() {
Toast.makeText(getApplicationContext(), "我被關閉了",
Toast.LENGTH_SHORT).show();
}
});
}
}
參考來源:
http://examples.javacodegeeks.com/android/core/widget/slidingdrawer/android-slidingdrawer-example/
http://stackoverflow.com/questions/3695856/android-slidingdrawer-from-top

沒有留言 :
張貼留言