Android 中 DisplayMetrics 声明错误中的 getWindowManager 错误
Error from getWindowManager in DisplayMetrics declaration error in Android
我正在设计我的第一个 android 应用程序,其中一部分需要获取屏幕尺寸。我以标准方式使用 DisplayMetrics
对象:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics); //the error is on all 3 methods here
int height = metrics.heightPixels;
int width = metrics.widthPixels;
但是我在第 2 行收到了 3 种方法中每一种方法的无效方法声明错误。此代码在我的 mainactivity.java 文件中,创建为空 activity。 None 其他问题中建议的更改在这里有所帮助。我已经尝试了 (Activity) cast 和 getContext() 方法。
这是整个文件:
package com.example.android.cloudmusic;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
}
}
非常感谢任何指点。
您应该只在 onCreate 方法内部而不是外部使用此代码。去掉不必要的牙套,一切都好。
package com.example.android.cloudmusic;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
// use these height and width here onwards..
}
}
我正在设计我的第一个 android 应用程序,其中一部分需要获取屏幕尺寸。我以标准方式使用 DisplayMetrics
对象:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics); //the error is on all 3 methods here
int height = metrics.heightPixels;
int width = metrics.widthPixels;
但是我在第 2 行收到了 3 种方法中每一种方法的无效方法声明错误。此代码在我的 mainactivity.java 文件中,创建为空 activity。 None 其他问题中建议的更改在这里有所帮助。我已经尝试了 (Activity) cast 和 getContext() 方法。
这是整个文件:
package com.example.android.cloudmusic;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
}
}
非常感谢任何指点。
您应该只在 onCreate 方法内部而不是外部使用此代码。去掉不必要的牙套,一切都好。
package com.example.android.cloudmusic;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
// use these height and width here onwards..
}
}