日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android inset 标签,android – 有几个WindowInsets?

發布時間:2025/3/12 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android inset 标签,android – 有几个WindowInsets? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WindowInsets描述了一組窗口內容的插圖.

換句話說,WindowInsets有一個可用的應用程序區域(并有其他信息,如isRound).可用區域不包括StatusBar和NavigationBar的Rect.

如果您只想知道StatusBar和NavigationBar的高度,請查看this.

你可以得到如下的WindowInsets.

以下示例使用WindowInsetsCompat兼容.

在你的style.xml中:

...

true

true

在你的AndroidManifest.xml中

...

android:theme="@style/AppTheme">

...

在你的布局中xml:(fitsSystemWindows應設置為獲取WindowInsets.)

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/container"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true">

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

在你的活動(或任何地方):

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

View container = findViewById(R.id.container);

ViewCompat.setOnApplyWindowInsetsListener(container, new OnApplyWindowInsetsListener() {

@Override

public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {

//you can do something with insets.

int statusBar = insets.getSystemWindowInsetTop(); //this is height of statusbar

int navigationBar = insets.getStableInsetBottom(); //this is height of navigationbar

Log.d("MainActivity", String.format("%s %s", statusBar, navigationBar));

ViewCompat.onApplyWindowInsets(v, insets);

return insets;

}

});

}

}

WindowInsets是這樣的:

總結

以上是生活随笔為你收集整理的android inset 标签,android – 有几个WindowInsets?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。