UnityAndroid(5) 刘海屏问题

我的手机是有刘海的,进入Unity界面后,它直接完全全屏了,导致刘海部分挡住了部分内容(正好我在那里放了几个按钮),需要做一个Header,高度根据刘海自动调整。

一、自动调整标题高度

参考:Android 座标总结

    //获取状态栏高度
    public static float getStatusBarHeight(Context context) {
        int height = 0;
        try {
            Resources resources = context.getResources();
            int resourceId = resources.getIdentifier("status_bar_height", "dimen","android");
            height = resources.getDimensionPixelSize(resourceId);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return height;
    }

在Activity的Create里面设置

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_unity_video_play);

        LinearLayout llUnityHeader=findViewById(R.id.llUnityHeader);//Header
        ViewGroup.LayoutParams lp=llUnityHeader.getLayoutParams();
        lp.height=(int) MeasureUtil.getStatusBarHeight(this);
        llUnityHeader.setLayoutParams(lp);
    }

二、自动调整字体大小

要用到自动调整字体大小的TextView,因为我要修改LinnearLayout的高度,要让里面的TextView相应的调整字体大小,充满内容。

参考1:Android自定义TextView根据控件高度和宽度,解决字体适配问题

https://github.com/AndroidDeveloperLB/AutoFitTextView

结论来看,它的例子有效果,但是我不知道怎样拿来用。

我需要的是界面上把TextView改成AutoTextView后,自动就调整的,不用任何其他代码的。

github上也找了其他的,居然没有我要的。

-------------------------------------------------------

参考2:Android 设置TextView自动调整字体大小

结论来说,Android自己的TextView已经支持了,不需要另外弄其他的东西,加个android:autoSizeTextType="uniform"就好了。

从开始到知道花了60分钟,我现在学过的Android知识只有LinearLayout和RelativeLayout,后面的教程都还没看。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章