android第五天早:抗锯齿和全屏

视频:善知堂Android   http://www.verycd.com/topics/2915940/

第七集 抗锯齿和全屏

1.画笔抗锯齿

paint.setAntiAlias(true);//抗锯齿

一句话就可以抗锯齿

2.另一种抗锯齿

canvas.setDrawFilter(new PaintFlagsDrawFilter(0,
                    Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));

前面的是画笔的抗锯齿,后面的是位图。
3.全屏

主activity 的高度和宽度是全配的高度和宽度,而扩展的view则去掉上面的面积

获得主activity的高度和宽度

        public GameView(Context context) {
            super(context);
            Activity a = (Activity) context;
            System.out.println(a.getWindowManager().getDefaultDisplay()
                    .getWidth());
            System.out.println(a.getWindowManager().getDefaultDisplay()
                    .getHeight());
            new MyThread().start();
        }

通过程序 或者 配置文件可以实现全配

3.1 通过配置文件,修改 AndroidManifest.xml

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > 加入这一行
        <activity
            android:name=".RestartActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

这个是android的主题配置,就和windos各种主题一样。

另外,可以将这句代码写到下面的activity里面,则只对activity有效。

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout lay = new LinearLayout(this);
        //设置没有标题,还有状态栏  
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(lay);
    }

在上面的基础上再加入一句全屏的功能

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

第五天早上完

原文地址:https://www.cnblogs.com/wanself/p/2578749.html