AyoActivityNoManifest 介绍
-
这个库提供了:
-
manifest里只需要声明:
Manifest中的声明:
<activity android:name="com.cowthan.sample.MainActivity" android:configChanges="orientation|screenSize|keyboardHidden|navigation" android:screenorientation="portrait" android:theme="@style/AppTheme" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="org.ayo.app.base.TmplActivityStandard" android:configChanges="orientation|screenSize|keyboardHidden|navigation" android:screenorientation="portrait" android:launchMode="standard" android:theme="@style/AyoTransparentTheme" /> <activity android:name="org.ayo.app.base.TmplActivitySingleTask" android:configChanges="orientation|screenSize|keyboardHidden|navigation" android:screenorientation="portrait" android:launchMode="singleTask" android:theme="@style/AyoTransparentTheme" /> <activity android:name="org.ayo.app.base.TmplActivitySingletop" android:configChanges="orientation|screenSize|keyboardHidden|navigation" android:screenorientation="portrait" android:launchMode="singletop" android:theme="@style/AyoTransparentTheme" /> <activity android:name="org.ayo.app.base.TmplActivitySingleInstance" android:configChanges="orientation|screenSize|keyboardHidden|navigation" android:screenorientation="portrait" android:launchMode="singleInstance" android:theme="@style/AyoTransparentTheme" />
-
ActivityAttacher的意义:
看代码,这两个只有基类不一样,内部代码应该是一样的,其中继承AyoActivity的是一个普通Activity,需要去manifest声明,
而继承AyoActivityAttacher,就不需要再去manifest声明了
public class SampleActivity extends AyoActivityAttacher{ public static void start(Context c, boolean takeSystemBar, int lanuchMode, OnResultCallBack callBack){ SimpleBundle sb = new SimpleBundle(); sb.putExtra("takeSystemBar", takeSystemBar); ActivityAttacher.startActivity(c, SampleActivity.class, sb, false, lanuchMode, callBack); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac_tmpl); } } public class SampleActivity extends AyoActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac_tmpl); } }
启动方式变成这样:
public static void start(Context c, boolean takeSystemBar, int lanuchMode, OnResultCallBack callBack){ SimpleBundle sb = new SimpleBundle(); sb.putExtra("takeSystemBar", takeSystemBar); ActivityAttacher.startActivity(c, SampleActivity.class, sb, false, lanuchMode, callBack); }
-
OnResultCallBack是接收Activity的回传结果
- 如何回传:getResultCallback().onResult("代替OnActivityReslt和setResult"); finish();
-
lanuchMode是选择Activity的启动模式,也就是选择模板:
-
ActivityAttacher.LAUNCH_MODE_STANDARD
-
ActivityAttacher.LAUNCH_MODE_SINGLE_TASK
-
ActivityAttacher.LAUNCH_MODE_SINGLE_TOP
-
ActivityAttacher.LAUNCH_MODE_SINGLE_INSTANCE
-
这里提供了两个主题:AyoTransparentTheme和AyoTheme,没啥特殊的
AyoActivityNoManifest 官网
https://github.com/cowthan/AyoActivityNoManifest
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。