android – 为什么我不能在以编程方式添加的视图上设置高程?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android – 为什么我不能在以编程方式添加的视图上设置高程?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1828字,纯文字阅读大概需要3分钟。
内容图文
![android – 为什么我不能在以编程方式添加的视图上设置高程?](/upload/InfoBanner/zyjiaocheng/796/758bd6faf09d4e7b9c4279f8f1b4fbe3.jpg)
免责声明:我使用的是Xamarin.Android.
我创建了一个视图,设置了它的高程,然后将其添加到我的主布局中.触发事件时,视图已成功添加到布局中,但没有任何高程阴影.
这是我正在使用的:
以编程方式添加的视图:
public class TooltipTest : FrameLayout
{
private Context context;
private ShapeDrawable box;
private View carrot;
private string message;
public TextView TooltipText
{
get;
private set;
}
public TooltipTest(Context context, string message) : base(context)
{
this.context = context;
this.message = message;
Initialize();
}
private void Initialize()
{
CreateText();
}
private void CreateText()
{
int paddingTopBottom = 30;
int paddingLeftRight = 27;
TooltipText = new TextView(context);
TooltipText.Text = message;
TooltipText.SetTextColor(new Color(ContextCompat.GetColor(context, Resource.Color.tooltipText)));
TooltipText.SetTextSize(ComplexUnitType.Sp, 14f);
TooltipText.SetPadding(paddingLeftRight, paddingTopBottom, paddingLeftRight, paddingTopBottom);
TooltipText.SetBackgroundColor(new Color(ContextCompat.GetColor(context, Resource.Color.tooltipBackground)));
AddView(TooltipText);
}
要添加视图的事件:
ButtonTest.Click += (sender, e) => {
var tooltip = new TooltipTest(this, Resources.GetString(Resource.String.test_text));
var tooltipParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent);
tooltip.Elevation = 20f;
ParentLayout.AddView(tooltip, tooltipParams);
};
关于为什么阴影没有显示的任何想法?我已经尝试在工具提示上设置SetClipToPadding(false)和SetClipChildren(false),但这没有任何效果.
解决方法:
使用AppCompat方法ViewCompat.SetElevation(View,int)根据需要设置高程.但是在Lollipop之前的设备上,该方法似乎无能为力.
我发现为前Lollipop UI元素渲染阴影的唯一方法是使用背景代替:
android:background="@android:drawable/dialog_holo_light_frame"
如果您想进一步了解此主题,请转到此reddit主题并搜索高程.那里有非常好的更新信息.
内容总结
以上是互联网集市为您收集整理的android – 为什么我不能在以编程方式添加的视图上设置高程?全部内容,希望文章能够帮你解决android – 为什么我不能在以编程方式添加的视图上设置高程?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。