Android Toast类提供了获取和设置边距的方法.我很确定他们会提到整个吐司消息的外边距.由于Toast消息在UI上浮动,为什么这些边距确实必要?
我试着查看SDK参考以及搜索Internet.我找到的最接近解决方案的是一条线建议,即边距和偏移都允许控制Toast的定位.为什么我需要两种方法(尽管概念上不同,因为边距允许按容器宽度百分比来规定),以控制Toast的定位?
可以肯定的是,这些边距不像其他布局的填充那样工作吗?这没有意义,但我想明确一点.
总而言之,我想知道为什么需要保证金,保证金的作用以及保证金与抵消的使用情况,即何时应该使用保证金,何时应使用抵消额,为什么?
更新:
我还没有找到任何答案.我尝试使用边距而不是在代码中使用偏移量,并发现它们似乎提供了两种不同的Toast定位范例.设计意图(为什么有两种方法),当我应该使用一种方法而不是另一种方法时(或者至少是其他程序员/ UI设计者发现一种方法比其他方法更有用的例子),甚至是确切的操作(做边距)这些方法的中心“它们里面的吐司?是对最近的容器边缘施加的边缘?”仍然不清楚.
更新2:
我仔细查看了文档,还看了谷歌指出的Toast.java的一些代码.显而易见的是Toast包含在一个Window(Activity窗口?)中,它可能是一个叠加层. WindowManager.LayoutParams类还提供了进一步的线索.我已决定使用Toasts,偏移和边距,以及查看AOSP中的代码以获得更清晰的理解.
我会在这里更新,因为我发现了更多.
解决方法:
我相信边距决定了吐司从屏幕边缘出现的距离.您还可以调用setGravity()来更改它出现在屏幕的哪一侧,然后使用边距来控制它与屏幕一侧的距离.例如:
myToast.setMargin(10, 20);
将创建一个在边缘和容器之间具有10%容器宽度的吐司,以及在吐司和容器边缘之间容器高度的20%
要创建位于容器左上角的Toast,左侧为10像素边距,顶部为20像素边距:
myToast.setGravity(Gravity.LEFT| Gravity.TOP, 10, 20)
标签:android,android-ui 来源: https://codeday.me/bug/20190825/1716788.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。