我对代码很陌生,在构建我的第一个应用程序时遇到了很多问题。 我想创建一个抽屉,我可以从任何地方从左到右滑动打开。 (不从边缘滑动) 所以我的MainActivity视图的组件树是:
这是MainActivity.Java:
import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.support.v4.view.GestureDetectorCompat;
import android.os.Bundle;
import android.view.GestureDetector;
import android.widget.TextView;
import android.view.MotionEvent;
public class MainActivity extends Activity {
private GestureDetectorCompat gestureObject;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gestureObject = new GestureDetectorCompat(this, new LearnGesture());
@Override
public boolean onTouchEvent(MotionEvent event) {
this.gestureObject.onTouchEvent(event);
return super.onTouchEvent(event);
}
private class LearnGesture extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent event1, MotionEvent event2,
float velocityX, float velocityY) {
if (event2.getX() > event1.getX()) {
}
else if (event2.getX() < event1.getX()){
Intent intent = new Intent(
MainActivity.this, UpcomingActivity.class);
finish();
startActivity(intent);
overridePendingTransition(R.anim.right_in,R.anim.left_out);
}
return true;
}
}
}
这是AndroidManifest.xml
?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen">
<activity
android:name=".MainActivity"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".UpcomingActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_upcoming"
android:screenOrientation="landscape"
android:theme="@style/FullscreenTheme" />
</application>
</manifest>
代码可以运行,但有以下渲染问题:
1.使用设计库需要使用Theme.AppCompat或desecendant (在主题选择器中选择Theme.AppCompat或desecendant。) 2.无法实例化一个或多个类
实际上我甚至不确定我是否朝着正确的方向前进,我不知道是否应该使用片段或者drawerlayout来完成这项活动? 有人可以帮我一个忙,或者跟我分享一些相关的教程吗?
提前致谢。