gpt4 book ai didi

java - Android - 在自定义 Toast 类中编程 ImageView 约束

转载 作者:行者123 更新时间:2023-12-02 08:59:30 24 4
gpt4 key购买 nike

我已成功将 ImageView 添加到 CUSTOM TOAST VIEW GROUP。

现在 ImageView 位于屏幕底部水平居中。

我想要做的是将这个小部件限制在屏幕顶部,然后将其放置一些顶部边距。但是我找不到允许这种情况发生的方法名称?它真的存在吗?对于这种情况有不同的解决方案吗?

如何以编程方式将此 ImageView 限制在 toast View 的顶部?

public class CustomToast extends android.widget.Toast{

public CustomToast(String toast_text, Context toast_context, int toast_status) {
super(toast_context);

// TOAST
Toast toast = Toast.makeText(toast_context, toast_text, Toast.LENGTH_LONG);

// VIEW
ViewGroup view = (ViewGroup) toast.getView();

// BACKGROUND
view.setBackgroundResource(R.drawable.background_toast);

// IMAGE VIEW
ImageView myImage = new ImageView(toast_context);
myImage.setImageResource(R.drawable.icon_toast_valid);
myImage.setMaxWidth(200);
myImage.setMaxHeight(200);
myImage.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
myImage.setAdjustViewBounds(true);

view.addView(myImage);

// SHOW
toast.show();
}

}

我检查了android文档,一些stackoverflow链接,甚至尝试通过Android Studio智能代码补全找到该方法。到目前为止我还没有能力解决这个问题......

最佳答案

在 Android 中,有 View 和 ViewGroup。ViewGroups 可以包含子级,并且该子级可以是其他 View 或 ViewGroups。

View 有自己的行为(颜色、大小、方向...)。ViewGroups 对他自己和他的 child 有秩序行为。

最常用的 ViewGroup 是:

  • 框架布局
  • 线性布局
  • 相对布局
  • 约束布局

根据您的需要进行选择。

  • FrameLayout 像堆栈 View 一样排序他的子元素,就像你一样在 xml 中声明。
  • LinearLayout 在单个 View 中水平排列其他 View 列或垂直单行。
  • RelativeLayout 具有子级之间的引用以进行排序。
  • ConstraintLayout 有“约束”来排序他的 child ,就像relativeLayout 但功能最强大。

在您的实现中,您有一个“以编程方式”实现,也许如果您尝试使用 xml 会更简单。

关于java - Android - 在自定义 Toast 类中编程 ImageView 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60266812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com