gpt4 book ai didi

android - 如何在 HoneyComb 中获取可用的屏幕高度减去导航栏?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:04:29 24 4
gpt4 key购买 nike

有没有办法以像素为单位测量底部导航栏的高度?

最佳答案

顺便说一句...对于像我这样偶然发现这个问题以寻找实际数字的人来说,它是 48 像素(至少在摩托罗拉 Xoom 上是这样)。这是基于这个(公认的粗糙的)测试 Activity 的调试输出,结合没有标题栏的主题(例如,@android:style/Theme.NoTitleBar)和高度和宽度都设置为“的单 View LinearLayout match_parent”(例如,在创建新的 Android 应用程序时创建的那个):

package com.sample.layouttest;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnLayoutChangeListener;

public class Main extends Activity implements OnLayoutChangeListener {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View newView = getLayoutInflater().inflate(R.layout.main, null);
newView.addOnLayoutChangeListener(this);
setContentView(newView);
}

@Override
public void onLayoutChange(View view, int left, int top, int right,
int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
Log.d("LayoutTest","left="+left+", top="+top+", right="+right+", bottom="+bottom);
}
}

在运行 Android 3.1 的摩托罗拉 Xoom(以及运行 3.0 的三星 Galaxy 10.1V)上,进入纵向模式时 onLayoutChange 方法的输出为:

05-24 15:11:43.047: DEBUG/LayoutTest(8658): left=0, top=0, right=800, bottom=1232

进入横向时:

05-24 15:13:18.837: DEBUG/LayoutTest(8658): left=0, top=0, right=1280, bottom=752

关于android - 如何在 HoneyComb 中获取可用的屏幕高度减去导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5116648/

24 4 0