我正试图将我的身高设置LinearLayout为45度.
在扩展时我该怎么做LinearLayout?
现在我刚做了: LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 45);
Gli*_*gor 48
解决此类问题的最佳方法是dimens.xml在值下创建一个文件并在其中放入dip值,然后在代码中从该文件中提取维度.这就是资源的用途,对吗?=)
这是一个例子dimens.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="about_image_bottom">0dp</dimen>
</resources>
Run Code Online (Sandbox Code Playgroud)
这就是你可以在代码中解决它的方法:
RelativeLayout.LayoutParams iv_params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
iv_params.setMargins(0, 0, 0, (int) getResources().getDimension(R.dimen.about_image_bottom));
Run Code Online (Sandbox Code Playgroud)
然后将参数设置为您需要的任何对象,在我的情况下为ImageView iv:
iv.setLayoutParams(iv_params);
Run Code Online (Sandbox Code Playgroud)
Hou*_*ine 16
您可以使用DisplayMatrics并确定屏幕密度.像这样的东西:
int pixelsValue = 5; // margin in pixels
float d = context.getResources().getDisplayMetrics().density;
int margin = (int)(pixelsValue * d);
Run Code Online (Sandbox Code Playgroud)
希望它有所帮助^^
| 归档时间: |
|
| 查看次数: |
19074 次 |
| 最近记录: |