【问题标题】:How to display a View in Full Size on screen in Xamarin Android?如何在 Xamarin Android 的屏幕上显示全尺寸视图?
【发布时间】:2019-04-19 15:09:46
【问题描述】:

我无法设置与Display Size 匹配的View Size,下面是代码,它是Transparent View

 TestView testView;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        testView = new TestView(this);
        SetContentView(testView);

    }

应用运行时ViewDefault Heightheight=1206 但是显示高度是1280,我使用了以下方法来设置视图大小与屏幕大小匹配,但都不起作用

不起作用

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);

    testView = new TestView(this);
    IWindowManager window = null;
        window = this.Application.GetSystemService(Context.WindowService).JavaCast<IWindowManager>();
        Display defaultDisplay = window.DefaultDisplay;
        DisplayMetrics display = new DisplayMetrics();
        defaultDisplay.GetRealMetrics(display);
        int width = display.WidthPixels;
        int height = display.HeightPixels;
        RelativeLayout.LayoutParams parms = new 
                       RelativeLayout.LayoutParams(width, height);
        testView.LayoutParameters = parms;
    SetContentView(testView);

}

结果:

不起作用:

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);

    testView = new TestView(this);
    SetContentView(testView);
    if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
        {

            Window.SetFlags(WindowManagerFlags.LayoutNoLimits,
                              WindowManagerFlags.LayoutNoLimits);
        }

}

<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowTranslucentStatus">true</item>

结果

如何设置View的Display高度?

【问题讨论】:

标签: android xamarin android-activity view xamarin.android


【解决方案1】:

您需要在清单文件中声明您的活动应该是全屏的:

<activity android:name=".ActivityName"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>

如果您想通过代码获取它,只需在活动的 onCreate 方法中使用这些行:

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

或将以下行添加到 style.xml 文件中

 //your theme
 <style name="Theme.AppCompat.Transparent.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
      //XML lines for full screen
      <item name="android:windowNoTitle">true</item>
      <item name="android:windowFullscreen">true</item>
 </style>

如需更多帮助,请查看此答案: Fullscreen Activity in Android?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多