使用以下代码:
public class Panel extends SurfaceView {
// ......
// in one of the methods I want to call
Display display = getWindowManager().getDefaultDisplay();
// ......
}
问题出在getWindowManager()方法上,我想这个方法只能在activity中调用,但我不在activity中,而是在我的自定义方法panel中。如何在自定义组件中获取DisplayMetrics?
我需要使用dip/dp (在java文件中)编写android小部件的布局。在运行时,如果我编写代码,
int pixel=this.getWindowManager().getDefaultDisplay().getWidth();
此函数返回以像素为单位的屏幕宽度(px)。为了将其转换为dp,我编写了:
int dp =pixel/(int)getResources().getDisplayMetrics().density ;
这似乎没有返回正确的答案。我做了屏幕分辨率为480x800的WVGA800的模拟器。当运行仿真器并让代码打印像素和dp的值时,两者都达到了320。此仿真器为240
我正在处理一个自定义类,以帮助调整其他类的布局大小。
这是一堂课
public class LayoutResize{
Context context;
DisplayMetrics displayMetrics = new DisplayMetrics();
public int width(int sizeX)
{
//((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
//getWindowManag
因此,我创建了一个类来以编程方式更改布局大小。这个类是:
public class ActivityResize extends Activity{
DisplayMetrics displayMetrics = new DisplayMetrics();
//private Point size = new Point();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
g
我正在试着做一个可以让你拖动形状的应用程序。它在智能手机上运行良好,但在我的宏碁a500平板电脑上就不行
当我通过调用获取高度时
ih=getWindowManager().getDefaultDisplay().getHeight()-25;
我得到的值只是它应该值的1/3,因此我只能向下拖动1/3的sahpe。如果平板电脑是水平的,它会下降1/2。
为什么这个方法在我的平板电脑上返回了错误的高度值??
public class cPlay extends cBase implements OnClickListener {
/** Called when the activity is
如果我把它放在某个activity类中,它可以很好地工作,但当我把它放到我的App类中时,就找不到getWindowManager()方法了。有什么方法可以在app类中获取WindowManager吗?
我的app类定义如下:
public class myApp extends Application {
在创建方法中,我有这样的设置:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
我有一个函数,它在DisplayMetrics of Resources of Context类中使用一个字段:
fun getIconForDevice(context: Context, iconUrl: String): String {
val metrics = context.resources.displayMetrics
var suffix = ""
//below checks MUST be in this increasing order or it may failed
if (metrics.densityDpi &l
我发现了ListView的高度,我不知道px还是dpi?我需要dpi
final ListView actualListView = mPullRefreshListView.getRefreshableView();
actualListView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
我正在尝试使用fallowing代码读取屏幕的宽度和高度:
var height;
var width;
var w = window;
var d = document;
var e = d.documentElement;
var g = d.getElementsByTagName('body')[0];
width = w.innerWidth || e.clientWidth || g.clientWidth;
height = w.innerHeight || e.clientHeight || g.clientHeight;
该代码由"onload“事件
我既使用活动也不使用活动,没有在Android.Please中获得高度和宽度,纠正我做错了什么。
这里有活动:
public class LandPort extends Activity{
public final static int height = 0;
public final static int width = 0;
Context context;
DisplayMetrics displaymetrics = new DisplayMetrics();
public LandPort(Context context) {