我的应用程序中有一个自定义组件,我在其中扩展了ViewGroup并添加了一堆行(LinearLayouts),其中包含数据和它们之间的小边框。这在HVGA屏幕上看起来非常好,但在QVGA屏幕上看起来很糟糕。
我的问题是我希望1像素边框在HVGA上正常工作的部分,但在QVGA上,一些边框变为2像素或0像素(它只是两个中的一个,但我在不同的屏幕上看到过大小)。我通过设置填充的黑色线性布局来制作边框。
我猜这个问题与px vs dp有关,因为我之前在布局中使用px时看到了同样的事情。但是现在我试图在代码中设置边框大小我只能放px,有什么方法可以解决这个问题吗?
我知道你可以做的计算来获得代码中的dp值,但这并不能帮助我,因为我必须设置整数值(所以计算边框会给我1或2的每一行和它仍然看起来很糟糕。)
答案 0 :(得分:0)
通常,我强烈建议让所有可能的布局值引用资源值。 尺寸将被存储为“值”。这些值将接受dp,这是理想的使用方法。
如果您的布局不够通用以适应所有屏幕,那么通过添加额外的价值资源,可以非常轻松地为不同的屏幕定制不同的尺寸。