Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 我应该使用什么代替getWidth()和getHeight()来知道宽度何时更大以及何时高度更大大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Get screen dimensions in pixels                                    39个

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.Fragmenttransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.bundle;
import android.view.Display;
import android.view.WindowManager;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceStatE) {
        super.onCreate(savedInstanceStatE);
        setContentView(R.layout.activity_main);


        FragmentManager fm=getFragmentManager();
        Fragmenttransaction ft= fm.begintransaction();


        WindowManager wm= getWindowManager();
        Display d=wm.getDefaultDisplay();

        if (d.getWidth()>d.getHeight())
        {
            Fragment1 f1 = new Fragment1();
            ft.replace(android.R.id.content,f1);
        }
        else
        {
            Fragment2 f2 = new Fragment2();
            ft.replace(android.R.id.content,f2);
        }
    ft.commit();
    }
}

我想在Android中使用片段,并且当显示的宽度大于显示的高度时想要显示fragment1,当显示的高度大于显示的宽度时,想要显示fragment2但是当使用getWidth()和getHeight()时,android studio会说这些方法都被贬低了.
那么如何知道宽度何时更大以及何时高度更大?

解决方法

使用Displaymetrics而不是Display.

试试这个:

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.Fragmenttransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.bundle;
import android.view.Display;
import android.view.WindowManager;
import android.util.Displaymetrics;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceStatE) {
        super.onCreate(savedInstanceStatE);
        setContentView(R.layout.activity_main);


        FragmentManager fm=getFragmentManager();
        Fragmenttransaction ft= fm.begintransaction();

        Displaymetrics displaymetrics = new Displaymetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
        int height = displaymetrics.heightPixels;
        int width = displaymetrics.widthPixels;

        if (width > height)
        {
            Fragment1 f1 = new Fragment1();
            ft.replace(android.R.id.content,f2);
        }

        ft.commit();
    }
}

大佬总结

以上是大佬教程为你收集整理的android – 我应该使用什么代替getWidth()和getHeight()来知道宽度何时更大以及何时高度更大全部内容,希望文章能够帮你解决android – 我应该使用什么代替getWidth()和getHeight()来知道宽度何时更大以及何时高度更大所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。