Android View.setPadding(int left, int top, int right, int bottom)
只接受px中的值,但我想在dp中设置填充。有没有办法解决它?View.setPadding只接受px,反正有setPadding在dp中吗?
82
A
回答
162
直代码
int padding_in_dp = 6; // 6 dps
final float scale = getResources().getDisplayMetrics().density;
int padding_in_px = (int) (padding_in_dp * scale + 0.5f);
0
你可以计算的像素为特定的DPI值:http://forum.xda-developers.com/showpost.php?p=6284958&postcount=31
0
我有同样的问题。我发现的唯一解决方案(它不会真的帮助你:))是将其设置在Xml文件中。
如果您可以从代码中获得密度,则可以使用转换:“倾角单位转换为屏幕像素很简单:像素=倾斜*(密度/ 160)。” (从http://developer.android.com/guide/practices/screens_support.html)
编辑:你可以在屏幕密度:http://developer.android.com/reference/android/util/DisplayMetrics.html#densityDpi
78
如果定义尺寸(DP或其他)在一个XML文件(这是无论如何,至少在大多数情况下),你可以得到它的像素值使用此代码:
context.getResources().getDimensionPixelSize(R.dimen.your_dimension_name)
相关问题
- 1. CSS px VS Android dp
- 2. 转换DP没有上下文,以PX
- 3. Photoshop设计从px到dp
- 4. xp中的dp与java dp-px转换不匹配
- 5. Android Px到Dp工作示例?
- 6. 是否createScaledBitmap()使用px或dp?
- 7. 将px转换为dp和sp在Android中的/values/dimen.xml中
- 8. 只接受有效时间
- 9. MLLib只接受libsvm数据格式吗?
- 10. android ImageView setPadding没有效果
- 11. 只接受在C++中等于或小于100的正值。
- 12. TextBox只接受int
- 13. 如何在C++中只接受整数
- 14. 正则表达式接受数只有一个,最后
- 15. 我们应该在android,px,dp,dip或sp中使用哪种测量?
- 16. 将px转换为samsang galaxy tab的dp问题
- 17. 动态使用RelativeLayout并设置边距px,dp,inch,mm
- 18. Android不使用XML指定像素单位(如sp,px,dp)
- 19. 只接受js中的数字和一个点吗?
- 20. 只接受在特定字段中具有最小值的行
- 21. 接受在文本框中只有字符输入
- 22. 正则表达式只接受正数和小数
- 23. dp与dip相同吗?
- 24. netbeans - Textfield只接受双打
- 25. 只接受一种输入
- 26. C++:在头文件中有代码可以接受吗?
- 27. 在java中有可以接受未来任务的库吗?
- 28. 为什么dp,px,mm在不同的Android手机上看起来不同
- 29. 在正则表达式中只接受一行中的单个字符
- 30. 只接受1个域名在认证
嗨,我有一个问题。这个公式只用于填充或其他任何东西吗?例如一个矩形的边缘还是两边? – Emerald214 2011-07-09 16:01:18
这是[将dp单位转换为像素单位](http://developer.android.com/guide/practices/screens_support.html#dips-pels)的公式。你可以在任何地方使用它 – 2011-07-11 07:42:29