我有以下代码片段将位图插入 public void SetDocumentProperty(string propertyName, string propertyValue)
{
try
{
_excelApp = new Application();
workBk = _excelApp.Workbooks.Open(@"C:\12345.xlsx",
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
object oDocCustomProps = workBk.CustomDocumentProperties;
Type typeDocCustomProps = oDocCustomProps.GetType();
object[] oArgs = {propertyName,false,
MsoDocProperties.msoPropertyTypeString,
propertyValue};
typeDocCustomProps.InvokeMember("Add", BindingFlags.Default |
BindingFlags.InvokeMethod, null,
oDocCustomProps, oArgs);
}
catch
{
object customProperties = workBk.CustomDocumentProperties;
Type customPropertiesType = customProperties.GetType();
// Retrieve the specific custom property item
object customPropertyItem = customPropertiesType.InvokeMember("Item",
BindingFlags.Default | BindingFlags.GetProperty, null, customProperties,
new object[] { propertyName });
Type propertyNameType = customPropertyItem.GetType();
propertyNameType.InvokeMember("Value", BindingFlags.Default | BindingFlags.SetProperty, null,
customPropertyItem, new object[] { propertyValue });
}
finally
{
workBk.Save();
workBk.Close(false, @"C:\12345.xlsx", null);
Marshal.ReleaseComObject(workBk);
}
}
窗口小部件。使用 Android 5.x ,它可以正常工作,但使用 Android 4.x ,插入一个位图后会显示重复的图像。任何人都知道如何解决这个问题 Android 4.x ?
EditText
答案 0 :(得分:2)
这是由setBounds中设置的高度大于可从活动中较早创建drawable的Bitmap引起的。当发生这种情况时,似乎发生了两件事......
首先,如果尺寸只是略微(我没有经过广泛的测试,一旦我开始工作,所以我不确定精确的数字)超过了Bitmap的大小,那么就会增加一个大的空白区域跨度,此空白区域与插入的位图大小相同。
其次,Drawable的额外副本将添加到跨度,直接位于空格下方。
分辨率相对简单。确保在创建Drawable和调用setBounds之前,用于创建Drawable的Bitmap设置为预期的最终大小。
这可能不适用于所有情况,但对我有用,并希望对某人有所帮助。
答案 1 :(得分:0)
我还注意到,如果跨度字符串有换行符,则会重复显示图像。