上下居中怎么弄,android頂部居中,如何將drawableLeft對齊到頂部,而不是在android TextView中居中?

 2023-11-16 阅读 28 评论 0

摘要:見my answer here。您可以通過創建包裝您的Drawable的自定義Drawable,然后通過覆蓋方法onDraw(Canvas)來操作您的自定義Drawable的繪圖來將一個復合Drawable(或底部)對齊。以下示例是最簡單的示例。這將圖像與頂部對齊,但您也可以通過在onDraw(Canvas)方法中實現

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、}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/173477.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息