为啥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中的多级列表中第一级自动编号变成黑条,不显示序号。

在5.0系统上头像展示背景黑块的问题

在5.0系统上头像展示背景黑块的问题

word用宏命令完美解决列表编号变黑块的问题

word中(自动)编号变成黑色条状,看不见其编号数字了。这是怎么回事? 这个问题你解决了么?

为啥打开微信小程序的时候发现屏幕两边有黑边?