Android 知识收集
1,如何在非Activity中获取到资源(图片、文本等)
新建一个类继承android.app.Application
public class ApplicationContext extends Application {
private static ApplicationContext application ;
public static ApplicationContext instance(){
return application ;
}
@Override
public void onCreate() {
super.onCreate();
application = this ;
}
}
在AndroidManifest.xml中application节点添加属性android:name="xxxxx.ApplicationContext"
然后获取资源的时候使用如:
获取assets下的文件InputStream is = ApplicationContext.instance().getAssets().open(路径);//注意路径开头不用"/"
获取res下的raw下的文件InputStream is =ApplicationContext.instance().getResources().openRawResource(R.raw.xxxx);
获取res下的drawable下的图片Bitmap img1 = BitmapFactory.decodeResource(ApplicationContext.instance().getResources(), R.drawable.img1);
2,使程序固定横屏或竖屏
在AndroidManifest.xml中application节点里的activity节点添加属性android:screenOrientation="portrait" //保持竖屏(landscape)
3,启动时候不用标题栏并显示黑屏
在AndroidManifest.xml中application节点加入属性android:theme="@style/AppTheme",
在values/style.xml中加入的resources节点加入
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
</style>
4,获取屏幕宽高是多少(像素)(绘制图片好像是按像素来绘制的)
宽:getResources().getDisplayMetrics().widthPixels;高getResources().getDisplayMetrics().heightPixels
5,捕获触屏事件
实现OnTouchListener接口来进行处理,在view中使用setOnTouchListener方法加上处理对象
在onTouch方法里
int action = event.getAction() ;
if( MotionEvent.ACTION_DOWN == action){//点击屏幕了}