gpt4 book ai didi

java - 返回当前的 android 布局或屏幕宽度以进行调试

转载 作者:行者123 更新时间:2023-12-02 11:15:23 25 4
gpt4 key购买 nike

我正在尝试根据屏幕宽度添加条件处理。我在 /res/values 中设置了一个 refs 以指向屏幕宽度 > 600 (sw600dp) 上的相应资源,有两个布局等。然后我有

Log.d(TAG, "From mButton onClick, layout: " + getActivity().????);
if (getActivity().findViewById(R.id.dialog_widget) == null) {
Intent intent = WidgetActivity.newIntent(getActivity(), mThinger.getInfo());
Log.d(TAG, "From mButton onClick, intent: " + intent.toString());
startActivityForResult(intent, REQUEST_INFO);
} else {
FragmentManager manager = getFragmentManager();
WidgetDialogFragment dialog = WidgetDialogFragment.newInstance(mThinger.getInfo());
dialog.setTargetFragment(ThingerFragment.this, REQUEST_INFO);
dialog.show(manager, DIALOG_INFO);
}

我从未遇到过 else 条件,因此我尝试添加一个 Log (请参阅代码块的第一行)来让我知道哪些布局元素可用,或者屏幕宽度是多少,或者任何可以帮助我知道为什么我在较大屏幕上看不到 fragment 的信息。谢谢!

最佳答案

也许这会有所帮助 - 在我的应用程序启动时我总是记录:

    DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
float dpWidth = displayMetrics.widthPixels / displayMetrics.density;
Log.e(TAG,"dpHeight= "+dpHeight+" dpWidth="+dpWidth);

记录系统确定的屏幕布局的另一个技巧是使用“值”特定于布局的文件夹:

values-sw320dp/
values-sw420dp/
values-sw600dp/
values-sw720dp/

并在每个文件夹中定义一个 strings.xml (或任何值资源),如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="selected_configuration">sw320dp</string>
</resources>

并在应用程序主Applicaton类日志中:

Log.d(TAG, "Selected configuration: "+getString(R.string.selected_configuration));

当然,您可以使用除字符串之外的其他资源值。

关于java - 返回当前的 android 布局或屏幕宽度以进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50316769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com