0

我想在用户点击它时在UI中更改一个元素(editText)的位置。无论设备使用的屏幕尺寸还是DPI,定位应该在actionBar下约为20 dp。基于屏幕动态更改editTexts位置大小/ DPI

如何仅使用(java)代码完成此操作?请尽量给出更准确的答案。我看过其他类似的例子,但没有一个解释exakt场景?我正在考虑像下面的代码开始?那么什么?:

DisplayMetrics dm = new DisplayMetrics(); 
    mSearchField = (EditText)v.findViewById (R.id.something); 

    getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); 
      int [] loc = new int[2]; 
      mSearchField.getLocationOnScreen(loc); 
      int distance = dm.heightPixels - loc[1]; 
+0

你可以发布你的XML布局,或解释如何在屏幕上设置你的意见?也许你不需要获得显示尺寸来实现你想要的 –

回答

0

使用DisplayMetrics获取显示高度和宽度。

DisplayMetrics displayMetrics = new DisplayMetrics(); 
     mContext.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); 
     int height = displayMetrics.heightPixels; 
     int width = displayMetrics.widthPixels; 
     Log.e("width",width+""+height);