如何使重力“底部”在xml中的drawable上工作

我有一个简单的目标。 我想在我的FrameLayout上有一个浅灰色的背景,下面有一条黑色分界线(只有下层,不是全部)。 到目前为止我有这个:

             

但是它通过中心划线,即忽略了重力=’底部’位。 我怎样才能解决这个问题?

编辑:这个问题老了。 所选答案可能符合也可能不符合当前API等。建议您开始自己的问题,而不是添加到不再受监控的问题。

我建议使用九个补丁图像 – 这是一个应该做的工作的例子:

示例九补丁图像

(它只是很小但它就在那里!)

如果将它放在drawable文件夹中并将FrameLayout的背景设置为它,那么您应该得到所需的结果。 内容将进入灰色区域,#010101像素将水平拉伸,在底部形成一条线。 只需确保保留.9.png扩展名,以确保它作为九补丁加载。

希望对你有所帮助

我也在努力解决这个问题。 基本上,要在底部创建边框,您必须从与预期相反的方向思考。 您从带有边框颜色的矩形开始。 最重要的是,您绘制实际颜色,从底部偏移。 我用这个:

 < ?xml version="1.0" encoding="utf-8"?>               

或者,正如Juan Pablo Saraceno所说:

         

不幸的是,我还没有find一种方法让重力工作为drawables,但我发现你如何用纯xml实现你想要的东西:

 < ?xml version="1.0" encoding="utf-8"?>         

祝你好运:)

这有效!

    

嗯,这是一个非常古老的问题,但没有一个答案似乎回答了实际问题(如何使gravity工作)所以这是一个有效的例子:

 < ?xml version="1.0" encoding="utf-8"?>               

通过类比,如果要使用重力leftright将属性height更改为width

 < ?xml version="1.0" encoding="utf-8"?>             

我知道这是一个非常古老的问题,但是给出答案对我来说不起作用。 结果是为了重力属性工作,您只需要在可绘制项目中添加大小标记。

以下将按预期工作:

 < ?xml version="1.0" encoding="utf-8"?>              

PS。 这个function在api level 23中添加了https://developer.android.com/reference/android/graphics/drawable/LayerDrawable#setLayerGravity%28int,%20int%29