根据屏幕大小/ DPI动态更改editTexts位置

时间:2017-04-03 09:48:33

标签: android android-layout android-edittext geolocation android-windowmanager

当用户点击它时,我想在我的UI中更改一个元素(editText)的位置。无论屏幕尺寸或设备使用的DPI如何,actionBar下的定位应为~20 dp。

如何仅使用(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];

1 个答案:

答案 0 :(得分:0)

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

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