由於某些原因,我必須獲取非活動擴展類中的屏幕尺寸。我試着用下面的方法:在非活動擴展類(Android)中獲取屏幕尺寸
DisplayMetrics metrics = this.getResources().getDisplayMetrics();
int w = metrics.widthPixels;
所以我可以使用「w」作爲寬度尺寸的像素。但是,這種方法似乎只適用於擴展活動的類。任何解決方案
謝謝大家。
由於某些原因,我必須獲取非活動擴展類中的屏幕尺寸。我試着用下面的方法:在非活動擴展類(Android)中獲取屏幕尺寸
DisplayMetrics metrics = this.getResources().getDisplayMetrics();
int w = metrics.widthPixels;
所以我可以使用「w」作爲寬度尺寸的像素。但是,這種方法似乎只適用於擴展活動的類。任何解決方案
謝謝大家。
爲了訪問Activity
方法,而無需每次你需要它的時候通過context
,它保持到currentActivity參考您的應用程序object.-
public class YourApplication extends Application {
public YourApplication() {
instance = this;
}
public static YourApplication getInstance() {
return instance;
}
public Activity getCurrentActivity() {
return currentActivity;
}
public void setCurrentActivity(Activity currentActivity) {
this.currentActivity = currentActivity;
}
}
在你AndroidManifest.xml
<application
android:name=".YourApplication"
...
>
</application>
而在你Activities
onResume
method.-
@Override
protected void onResume() {
super.onResume();
YourApplication.getInstance().setCurrentActivity(this);
}
另外,我通常有一個ParentActivity
被我的其餘活動延伸,將這些共同的邏輯分組。
你必須通過類的構造函數中的上下文來傳遞:
public class Something {
Context context;
public Something(Context context){
this.context = context;
}
public int getDisplayWidth(){
DisplayMetrics metrics = this.context.getResources().getDisplayMetrics();
int w = metrics.widthPixels;
return w;
}
}
你嘗試http://stackoverflow.com/a/1016941/1023092? – Joe