为啥word标题前面有黑块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥word标题前面有黑块相关的知识,希望对你有一定的参考价值。
如果我们使用word标题的默认样式,就会有一个默认黑块
要去掉这个黑块,可以选择标题,右键点击“段落”,在“换行和分页”选项卡中,去掉“与下段同页”和“段中不分页”选择
点击确定,这时标题前面的黑块就没有了
参考技术A 我用wps重新设置就好了。在word里面弄不好。在5.0系统上头像展示背景黑块的问题
最近是比较懒了,时间是有,代码也不想碰了,开源项目也分析了几个, 断断续续的也没完成,哎。闲话少说了。
在开发过程中,遇到在Android5.0系统及以上的系统上,头像会有黑块的问题,就是在圆形头像的后面有个矩形的黑块,
通常的一些解决方法就是改为非硬加速等等,都试过了,没有效果。最后使用了RecyclingImageView解决了此问题,
具体原因没仔细查看, 应该是图片缓存的问题,没有及时释放。
这个demo源码可以在Android给的samples中找到,在AS中,可以直接导入这个demo。前提是得连外网,一般需要翻墙。
下面是关键代码:
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.example.android.displayingbitmaps.ui;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.util.AttributeSet;
import android.widget.ImageView;
import com.example.android.displayingbitmaps.util.RecyclingBitmapDrawable;
/**
* Sub-class of ImageView which automatically notifies the drawable when it is
* being displayed.
*/
public class RecyclingImageView extends ImageView
public RecyclingImageView(Context context)
super(context);
public RecyclingImageView(Context context, AttributeSet attrs)
super(context, attrs);
/**
* @see android.widget.ImageView#onDetachedFromWindow()
*/
@Override
protected void onDetachedFromWindow()
// This has been detached from Window, so clear the drawable
setImageDrawable(null);
super.onDetachedFromWindow();
/**
* @see android.widget.ImageView#setImageDrawable(android.graphics.drawable.Drawable)
*/
@Override
public void setImageDrawable(Drawable drawable)
// Keep hold of previous Drawable
final Drawable previousDrawable = getDrawable();
// Call super to set new Drawable
super.setImageDrawable(drawable);
// Notify new Drawable that it is being displayed
notifyDrawable(drawable, true);
// Notify old Drawable so it is no longer being displayed
notifyDrawable(previousDrawable, false);
/**
* Notifies the drawable that it's displayed state has changed.
*
* @param drawable
* @param isDisplayed
*/
private static void notifyDrawable(Drawable drawable, final boolean isDisplayed)
if (drawable instanceof RecyclingBitmapDrawable)
// The drawable is a CountingBitmapDrawable, so notify it
((RecyclingBitmapDrawable) drawable).setIsDisplayed(isDisplayed);
else if (drawable instanceof LayerDrawable)
// The drawable is a LayerDrawable, so recurse on each layer
LayerDrawable layerDrawable = (LayerDrawable) drawable;
for (int i = 0, z = layerDrawable.getNumberOfLayers(); i < z; i++)
notifyDrawable(layerDrawable.getDrawable(i), isDisplayed);
/**
* A BitmapDrawable that keeps track of whether it is being displayed or cached.
* When the drawable is no longer being displayed or cached,
* @link android.graphics.Bitmap#recycle() recycle() will be called on this drawable's bitmap.
*/
public class RecyclingBitmapDrawable extends BitmapDrawable
static final String TAG = "CountingBitmapDrawable";
private int mCacheRefCount = 0;
private int mDisplayRefCount = 0;
private boolean mHasBeenDisplayed;
public RecyclingBitmapDrawable(Resources res, Bitmap bitmap)
super(res, bitmap);
/**
* Notify the drawable that the displayed state has changed. Internally a
* count is kept so that the drawable knows when it is no longer being
* displayed.
*
* @param isDisplayed - Whether the drawable is being displayed or not
*/
public void setIsDisplayed(boolean isDisplayed)
//BEGIN_INCLUDE(set_is_displayed)
synchronized (this)
if (isDisplayed)
mDisplayRefCount++;
mHasBeenDisplayed = true;
else
mDisplayRefCount--;
// Check to see if recycle() can be called
checkState();
//END_INCLUDE(set_is_displayed)
/**
* Notify the drawable that the cache state has changed. Internally a count
* is kept so that the drawable knows when it is no longer being cached.
*
* @param isCached - Whether the drawable is being cached or not
*/
public void setIsCached(boolean isCached)
//BEGIN_INCLUDE(set_is_cached)
synchronized (this)
if (isCached)
mCacheRefCount++;
else
mCacheRefCount--;
// Check to see if recycle() can be called
checkState();
//END_INCLUDE(set_is_cached)
private synchronized void checkState()
//BEGIN_INCLUDE(check_state)
// If the drawable cache and display ref counts = 0, and this drawable
// has been displayed, then recycle
if (mCacheRefCount <= 0 && mDisplayRefCount <= 0 && mHasBeenDisplayed
&& hasValidBitmap())
if (BuildConfig.DEBUG)
Log.d(TAG, "No longer being used or cached so recycling. "
+ toString());
getBitmap().recycle();
//END_INCLUDE(check_state)
private synchronized boolean hasValidBitmap()
Bitmap bitmap = getBitmap();
return bitmap != null && !bitmap.isRecycled();
主要是对图片进行了及时的释放处理,希望对遇到此问题的人有帮助。额。 忘记说了,用的话,自己的头像处理View,继承它就行了, 只需要做处理下就行了。
以上是关于为啥word标题前面有黑块的主要内容,如果未能解决你的问题,请参考以下文章
在word2010中的多级列表中第一级自动编号变成黑条,不显示序号。