【发布时间】:2016-06-09 01:36:51
【问题描述】:
免责声明:我使用的是 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);
};
关于为什么阴影不显示的任何想法?我尝试在tooltip 上设置 SetClipToPadding(false) 和 SetClipChildren(false),但没有效果。
【问题讨论】:
-
可能你有旧版本的android?从 21 Lollipop 版本开始支持提升
-
好吧,我确信属于 .xml 布局的一部分并为其设置了高程的视图可以正常工作。阴影在这些项目上按预期工作。这似乎是严格以编程方式添加的视图。
-
请@hellaadrew 你能把我的帖子标记为正确答案吗?谢谢。
-
我仍然关注这个线程。对不起,等待,但是我没有时间在我的项目中回到这个问题。等我能回来,我会回来报告的
标签: android xamarin.android android-elevation