見
my answer here。
您可以通過創建包裝您的Drawable的自定義Drawable,然后通過覆蓋方法onDraw(Canvas)來操作您的自定義Drawable的繪圖來將一個復合Drawable(或底部)對齊。
以下示例是最簡單的示例。這將圖像與頂部對齊,但您也可以通過在onDraw(Canvas)方法中實現所需的邏輯使其與TextView的底部,左側或右側對齊。您可能還需要在onDraw(Canvas)中構建邊距,使您的設計實現像素完美。
樣品用量:
上下居中怎么弄。GravityCompoundDrawable gravityDrawable = new GravityCompoundDrawable(innerDrawable);
// NOTE: next 2 lines are important!
innerDrawable.setBounds(0, 0, innerDrawable.getIntrinsicWidth(), innerDrawable.getIntrinsicHeight());
gravityDrawable.setBounds(0, 0, innerDrawable.getIntrinsicWidth(), innerDrawable.getIntrinsicHeight());
mTextView.setCompoundDrawables(gravityDrawable, null, null, null);
示例代碼:
水平居中對齊,public class GravityCompoundDrawable extends Drawable {
// inner Drawable
private final Drawable mDrawable;
public GravityCompoundDrawable(Drawable drawable) {
mDrawable = drawable;
}
安卓垂直居中。@Override
public int getIntrinsicWidth() {
return mDrawable.getIntrinsicWidth();
}
@Override
public int getIntrinsicHeight() {
word水平居中怎么設置。return mDrawable.getIntrinsicHeight();
}
@Override
public void draw(Canvas canvas) {
int halfCanvas= canvas.getHeight() / 2;
int halfDrawable = mDrawable.getIntrinsicHeight() / 2;
表格文字水平居中怎么設置、// align to top
canvas.save();
canvas.translate(0, -halfCanvas + halfDrawable);
mDrawable.draw(canvas);
canvas.restore();
}
android、}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态