安卓Drawable bitmap 知識(shí)匯總

int getcolor = Resources.getSystem().getColor(android.R.color.holo_green_light);
Button btn = (Button) findViewById(R.id.btn);
btn.setBackgroundColor(getcolor);

btn.setBackgroundColor(Color.argb(0xff, 0x00, 0x00, 0x00));

setTextColor(Color.parseColor(getActivity().getString(R.string.ui_green)));
//方法一  
        tv2.setTextColor(android.graphics.Color.RED);  
        //方法二  
        //tv2.setTextColor(0xffff00ff);   必須是 8個(gè)的不接受6個(gè)的

        //方法三  
        //tv2.setTextColor(this.getResources().getColor(R.color.red));  

//通過(guò)獲得資源文件進(jìn)行設(shè)置酷宵。根據(jù)不同的情況R.color.red也可以是R.string.red或者R.drawable.red,當(dāng)然前提是需要在相應(yīng)的配置文件里做相應(yīng)的配置,

我們?cè)谑褂玫臅r(shí)候把圖片直接放在文件中,然后直接設(shè)置為背景或听,但是有時(shí)候需要控制對(duì)齊方式,控制背景如何平鋪——BitmapDrawable

Drawable :一種可以再Canvas 上進(jìn)行繪制的圖像概念笋婿,但是它又不全是圖片誉裆,通過(guò)顏色也可以構(gòu)造出各式各樣的圖像效果, Drawable 使用簡(jiǎn)單缸濒,比自定義View 的成本要低足丢,另外非圖片類(lèi)型的Drawable占用空間較小,這對(duì)減少APK體積有好處

Drawable 在實(shí)際開(kāi)發(fā)中绍填,常備用作View的背景或者作為ImageView中的圖像顯示

Canvas : 畫(huà)布霎桅,一般理解為一種處理過(guò)程栖疑,使用各種方法來(lái)管理Bitmap .GL或者Path路徑

提供了裁剪讨永,選取等操作,
Canvas主要用于2D繪圖遇革,那么它也提供了很多相應(yīng)的drawXxx()方法卿闹,方便我們?cè)贑anvas對(duì)象上畫(huà)畫(huà),drawXxx()具有多種類(lèi)型萝快,可以畫(huà)出:點(diǎn)锻霎、線、矩形揪漩、圓形旋恼、橢圓、文字奄容、位圖等的圖形冰更,這里就不再一一介紹了,只介紹幾個(gè)Canvas中常用的方法:void drawBitmap(Bitmap bitmap,float left,float top,Paint paint):android系統(tǒng)不允許直接修改原圖昂勒,類(lèi)似Photoshop中的鎖定蜀细,必須通過(guò)原圖創(chuàng)建一個(gè)同樣大小的Bitmap,并將原圖繪制到該Bitmap中戈盈,以一個(gè)副本的形式來(lái)修改圖像奠衔。代碼如下谆刨,bm為原圖,bmp為創(chuàng)建的副本归斤。

Bitmap bmp = Bitmap.createBitmap(bm.getWidth(),bm.getHeight(),Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(bmp);Paint paint = new Paint();canvas.drawBitmap(bm,0,0,paint);
void drawLine(float startX,float startY,float stopX,float stopY,Paint paint):根據(jù)給定的起始點(diǎn)和結(jié)束點(diǎn)之間繪制連線void drawPath(Path path,Paint paint):根據(jù)給定的path痊夭,繪制連線void drawPoint(float x,float y,Paint paint):根據(jù)給定的坐標(biāo),繪制點(diǎn)void drawText(String text,int start,int end,Paint paint):根據(jù)給定的坐標(biāo)脏里,繪制文字int getHeight():得到Canvas的高度int getWidth():得到Canvas的寬度

Paint

我們可以把它看做一個(gè)畫(huà)圖工具生兆,比如畫(huà)筆、畫(huà)刷膝宁。他管理了每個(gè)畫(huà)圖工具的字體鸦难、顏色、樣式员淫,主要用于設(shè)置繪圖風(fēng)格合蔽,包括畫(huà)筆顏色、畫(huà)筆粗細(xì)介返、填充風(fēng)格等拴事。如果涉及一些Android游戲開(kāi)發(fā)、顯示特效可以通過(guò)這些底層圖形類(lèi)來(lái)高效實(shí)現(xiàn)自己的應(yīng)用圣蝎。 Paint中提供了大量設(shè)置繪圖風(fēng)格的方法刃宵,這里僅列出一些常用的:setARGB(int a,int r,int g,int b):設(shè)置ARGB顏色。setColor(int color):設(shè)置顏色徘公。setAlpha(int a):設(shè)置透明度牲证。setPathEffect(PathEffect effect):設(shè)置繪制路徑時(shí)的路徑效果。setShader(Shader shader):設(shè)置Paint的填充效果关面。setAntiAlias(boolean aa):設(shè)置是否抗鋸齒坦袍。setStrokeWidth(float width):設(shè)置Paint的筆觸寬度。setStyle(Paint.Style style):設(shè)置Paint的填充風(fēng)格等太。setTextSize(float textSize):設(shè)置繪制文本時(shí)的文字大小捂齐。setXfermode(Xfermode xfermode):設(shè)置繪制的渲染模式

四、Canvas,Drawable,Paint關(guān)系
Canvas就是一張畫(huà)布缩抡,上面可以讓你畫(huà)你想畫(huà)的東西奠宜,你可以想像成他就是小畫(huà)家工具。那畫(huà)完以后怎么辦瞻想?很簡(jiǎn)單压真,把它裝到容器里面,容器有哪些内边?就是我們前面講的ImageView榴都、GridView、ListView…等等漠其,這是系統(tǒng)幫我們做好的容器嘴高,不過(guò)這次是存成屬于自己的View竿音,講白話一點(diǎn)就是把我們畫(huà)的東西包成一個(gè)容器,容器里面裝的是我們的畫(huà)布拴驮。每個(gè)Drawable都會(huì)有一個(gè)draw的方法春瞬,它就是會(huì)幫你把這些圖形貼到畫(huà)布上面,然后再裝到自定的容器View里面套啤,最后就變成一種容器宽气,看你是要裝進(jìn)系統(tǒng)的容器或者直接呈現(xiàn)出來(lái)都可以。Paint就是畫(huà)筆潜沦,你在小畫(huà)家上面畫(huà)畫(huà)的時(shí)候萄涯,都會(huì)選擇畫(huà)筆來(lái)作畫(huà),像什么顏色啊唆鸡,粗細(xì)啊之類(lèi)的屬性涝影,像上面的例子當(dāng)中,我們?nèi)〉肈rawable的畫(huà)筆争占,然后將畫(huà)筆的顏色改成藍(lán)色燃逻,這樣畫(huà)出來(lái)的顏色就會(huì)變成藍(lán)色的矩形了。那是畫(huà)在哪邊臂痕?當(dāng)然是畫(huà)布上面伯襟,通常Paint都會(huì)跟在Drawable的相關(guān)類(lèi)別或者自定View類(lèi)別一起使用。
五握童、Canvas的使用方式
以下參考Andriod中繪(畫(huà))圖----Canvas的使用詳解Canvas的兩種使用情形姆怪,從Canvas對(duì)象的獲得角度分析:
1、 自定義View和自定義SurfaceView中獲得Canvas對(duì)象由于自定義View和SurfaceView在顯示界面中已經(jīng)獲得了顯示區(qū)域舆瘪,canvas對(duì)象只不過(guò)是在其顯示(繪畫(huà))區(qū)域進(jìn)行界面布局的設(shè)計(jì)片效,當(dāng)操作完畢后红伦,系統(tǒng)會(huì)顯示canvas的操作結(jié)果英古。自定義View的繪圖方法為:
//存在canvas對(duì)象,即存在默認(rèn)的顯示區(qū)域@Overridepublic void draw(Canvas canvas) {//canvas繪圖}

2昙读、在其他情形下召调,我們需要通過(guò)代碼創(chuàng)建一個(gè)Canvas對(duì)象,并且在繪畫(huà)成功后蛮浑,將該畫(huà)圖區(qū)域轉(zhuǎn)換為Drawable圖片或者通過(guò)setBitmap(bitmap)顯現(xiàn)出來(lái)唠叛。一般步驟為:
//創(chuàng)建一個(gè)的Bitmap對(duì)象Bitmap bitmap = Bitmap.createBitmap(200, 100, Config.ARGB_8888);//創(chuàng)建一個(gè)canvas對(duì)象,并且開(kāi)始繪圖Canvas canvas = new Canvas (bitmap);ImageView imgView = new ImageView(this);//或者其他可以設(shè)置背景圖片的View控件//為ImageView設(shè)置圖像//將Bitmap對(duì)象轉(zhuǎn)換為Drawable圖像資Drawable drawable = new BitmapDrawable(bitmap);imgView .setBackgroundDrawable(drawable);//或者簡(jiǎn)單點(diǎn):imgView.setImageBitmap(bitmap);

六沮稚、【Android】Drawable艺沼、Bitmap、Canvas蕴掏、Paint之間區(qū)別
(1)Bitmap 轉(zhuǎn)化為 byte
ByteArrayOutputStream out = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);byte[] array= out.toByteArray();
(2)byte轉(zhuǎn)化為bitmap
private Bitmap Bytes2Bimap(byte[] b){if(b.length!=0){return BitmapFactory.decodeByteArray(b, 0, b.length);}else {return null;}}
(3)bitmap 轉(zhuǎn)換 drawable
Bitmap bitmap = new Bitmap(...);Drawable drawable = new BitmapDrawable(bitmap);//Drawable drawable = new FastBitmapDrawable(bitmap);
(4)Drawable to Bitmap
public static Bitmap drawableToBitmap(Drawable drawable) {Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight(),drawable.getOpacity() != PixelFormat.OPAQUE ?Bitmap.Config.ARGB_8888: Bitmap.Config.RGB_565);Canvas canvas = new Canvas(bitmap);//canvas.setBitmap(bitmap);drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());drawable.draw(canvas);return bitmap;}
七障般、自定義Drawable
通常我們沒(méi)有必要自定義Drawable调鲸,這是因?yàn)樽远x的Drawable無(wú)法在XML中使用,使用范圍有限挽荡。如果要自定義Drawable藐石,draw、setAlpha定拟、setColorFilter于微、getOpacity這幾個(gè)方法必須要實(shí)現(xiàn)。以下是個(gè)圓形的drawable青自,半徑會(huì)隨著view的變化而變化株依。

public class CustomDrawable extends Drawable{private Paint mPaint;public CustomDrawable(int color){mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);mPaint.setColor(color);}@overridepublic void draw(Canvas canvas){final Rect r = getBounds();float cx = r.exactCenterX();float cy = r.exxactCenterY();canvas.drawCircle(cx,cy,Math.min(cx,cy),mPaint);}@overridepublic void setAlpha(int alpha){mPaint.setAlpha(alpha);invalidateSelf();}@overridepublic void setColorFilter(ColorFilter cf){mPaint.setColorFilter(cf);invalidateSelf();}@overridepublic int getOpacity(){return PixelFormat.TRANSLUCENT;}}
八、Android中的13種Drawable小結(jié)
1.BitmapDrawable參考Drawable子類(lèi)之—— BitmapDrawable (可控制對(duì)齊平鋪的圖像)
<?xml version="1.0" encoding="utf-8"?><bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/image1" android:tileMode="repeat" />

2.NinePatchDrawable
<?xml version="1.0" encoding="utf-8"?><nine-patch xmlns:android="http://schemas.android.com/apk/res/android android:dither="false" android:src="@drawable/a" />

注意:@drawable/a中的a圖片就是drawable中a.9.png圖片
3.ShapeDrawable參考Drawable子類(lèi)之—— ShapeDrawable (圖形定義)通過(guò)顏色來(lái)構(gòu)造圖片延窜,可以是純色勺三,也可以是漸變色。比如給按鈕背景圖(純色背景需曾、帶邊框吗坚、圓角)可以用shape而不是Png圖片:
[圖片上傳中。呆万。商源。(1)]Paste_Image.png

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <stroke android:width="0.5dp" android:color="@color/white"/> <gradient android:startColor="#ffffff" android:endColor="#ffffff" android:angle="0.0" /> <corners android:topLeftRadius="4dp" android:topRightRadius="0dp" android:bottomLeftRadius="4dp" android:bottomRightRadius="0dp" /> </shape> </item></selector>

4.LayerDrawable參考Drawable子類(lèi)之——LayoutDrawable (圖層疊加)層次化的drawable集合,有疊加效果谋减。使用item標(biāo)簽來(lái)表示一個(gè)Drawable牡彻,可以有多個(gè)item.有些需求中需要一種圖片,但是明顯這個(gè)圖片是其他幾個(gè)圖片簡(jiǎn)單疊加而已出爹,那么可以使用layer-list來(lái)達(dá)到目的.
[圖片上傳中庄吼。。严就。(2)]Paste_Image.png

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:pivotX="0" android:pivotY="0" android:fromDegrees="-10" android:toDegrees="-10"> <bitmap android:src="@drawable/chatting_bg_default_thumb"/> </rotate> </item> <item> <rotate android:pivotX="0" android:pivotY="0" android:fromDegrees="15" android:toDegrees="15"> <bitmap android:src="@drawable/chatting_bg_purecolor_thumb"/> </rotate> </item> <item> <rotate android:pivotX="0" android:pivotY="0" android:fromDegrees="35" android:toDegrees="55"> <bitmap android:src="@drawable/mark"/> </rotate> </item></layer-list>

5.StateListDrawable也是一個(gè)drawable集合总寻,每個(gè)Drawable對(duì)應(yīng)view一個(gè)狀態(tài),系統(tǒng)會(huì)根據(jù)當(dāng)前View的狀態(tài)從selector中選擇對(duì)應(yīng)的item
<selector...><item...><item...><item...></selector>
6.LevelListDrawabledrawable集合梢为,里面每個(gè)drawable都對(duì)應(yīng)一個(gè)等級(jí)渐行。通過(guò)setLevel方法設(shè)置不同等級(jí)可以切換具體的drawable。
7.TransitionDrawable參考Drawable子類(lèi)之——TransitionDrawable (漸變)
[圖片上傳中铸董。祟印。。(3)]transition.gif

transition_simple.xml<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mipmap/pic1" /> <item android:drawable="@mipmap/pic2" /></transition>import android.app.Activity;import android.graphics.drawable.TransitionDrawable;import android.os.Bundle;import android.widget.ImageView;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView image = (ImageView) findViewById(R.id.mIv); //得到一個(gè)Drawable粟害,屬于 TransitionDrawable 類(lèi)型的 TransitionDrawable transition = (TransitionDrawable)getResources(). getDrawable(R.drawable.transition_simple); image.setImageDrawable(transition); transition.startTransition(2000); // 設(shè)定漸變的變化市場(chǎng) }}

8.InsetDrawable參考Drawable子類(lèi)之——InsetDrawable (嵌入)將其它Drawable嵌入自己當(dāng)中蕴忆,并可以在四周留出一定的間距。InsetDrawable對(duì)應(yīng)的標(biāo)簽是<inset>他可以將其他的Drawable內(nèi)嵌到自己的里面悲幅。個(gè)人覺(jué)得其實(shí)沒(méi)什么用套鹅,他能做到的驻襟,LayerDrawable也能做,或者有的時(shí)候直接設(shè)置一下padding就可以了芋哭。
[圖片上傳中沉衣。。减牺。(4)]Paste_Image.png

insetdrawable_simple.xml<?xml version="1.0" encoding="utf-8"?><inset xmlns:android="http://schemas.android.com/apk/res/android" android:insetBottom="60dp" android:insetLeft="30dp" android:insetRight="30dp" android:insetTop="60dp" > <shape android:shape="rectangle" > <solid android:color="#0000ff" /> </shape></inset><?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/mIv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:background="@mipmap/op" android:src="@drawable/insetdrawable_simple" /></RelativeLayout>

9.ScaleDrawable根據(jù)自己的等級(jí)將指定的drawable縮放到一定比例豌习。
<scale...
10.ClipDrawable參考Drawable子類(lèi)之——ClipDrawable (裁剪圖像)根據(jù)當(dāng)前等級(jí)裁剪一個(gè)Drawable,裁剪方向受clipOrientation和gravity兩個(gè)屬性共同控制拔疚。
[圖片上傳中肥隆。。稚失。(5)]Paste_Image.png

clipdrawable_simple.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <ImageView android:layout_width="200dp" android:layout_height="200dp" android:background="@mipmap/star" android:layout_marginBottom="20dp"/> <ImageView android:id="@+id/mIvClip" android:layout_width="200dp" android:layout_height="200dp" android:background="@drawable/clipdrawable_simple" /></LinearLayout>import android.app.Activity;import android.graphics.drawable.ClipDrawable;import android.os.Bundle;import android.widget.ImageView;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageView = (ImageView) findViewById(R.id.mIvClip); //ClipDrawable clipDrawable = (ClipDrawable) imageView.getDrawable(); 這樣寫(xiě)會(huì)報(bào)空指針異常 ClipDrawable clipDrawable = (ClipDrawable) imageView.getBackground(); clipDrawable.setLevel(5000); }}

11.RotateDrawable這里兩個(gè)圖片是兩個(gè)按鈕箭頭栋艳,但是僅僅方向不同而已,其實(shí)可以只用其中一個(gè)圖片即可句各,而另一個(gè)用RotateDrawable來(lái)讓其“調(diào)轉(zhuǎn)”180度
[圖片上傳中吸占。。凿宾。(6)]Paste_Image.png

<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/ic_arrow_left" android:fromDegrees="180" android:pivotX="50%" android:pivotY="50%" android:toDegrees="180" />

1.5矾屯、在Android中得到一個(gè)Bitmap對(duì)象的方法

1.5.1、使用常用的靜態(tài)方法獲取Bitmap對(duì)象:

static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)
//Returns an immutable bitmap from subset of the source bitmap, transformed by the optional matrix.
static Bitmap createBitmap(int width, int height, Bitmap.Config config)
//Returns a mutable bitmap with the specified width and height.
static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height)
//Returns an immutable bitmap from the specified subset of the source bitmap.
static Bitmap createBitmap(int[] colors, int offset, int stride, int width, int height, Bitmap.Config config)
//Returns a immutable bitmap with the specified width and height, with each pixel value set to the corresponding value in the colors array.
static Bitmap createBitmap(Bitmap src)
//Returns an immutable bitmap from the source bitmap.
static Bitmap createBitmap(int[] colors, int width, int height, Bitmap.Config config)
//Returns a immutable bitmap with the specified width and height, with each pixel value set to the corresponding value in the colors array.
static Bitmap createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter)
//Creates a new bitmap, scaled from an existing bitmap, when possible.

1.5.2初厚、使用BitmapFactory工廠類(lèi)獲取Bitmap對(duì)象

BitmapFactory工廠類(lèi)是一個(gè)工具類(lèi)件蚕,提供了大量的方法,大多數(shù)是從不同的數(shù)據(jù)源來(lái)解碼产禾、創(chuàng)建Bitmap對(duì)象排作,典型方法如下。

static Bitmap decodeByteArray(byte[] data, int offset, int length, BitmapFactory.Options opts)
//Decode an immutable bitmap from the specified byte array.
//解析byte[]
static Bitmap decodeByteArray(byte[] data, int offset, int length)
//Decode an immutable bitmap from the specified byte array.
static Bitmap decodeFile(String pathName)
//Decode a file path into a bitmap.
static Bitmap decodeFile(String pathName, BitmapFactory.Options opts)
//Decode a file path into a bitmap.
static Bitmap decodeFileDescriptor(FileDescriptor fd)
//Decode a bitmap from the file descriptor.
static Bitmap decodeFileDescriptor(FileDescriptor fd, Rect outPadding, BitmapFactory.Options opts)
//Decode a bitmap from the file descriptor.
static Bitmap decodeResource(Resources res, int id, BitmapFactory.Options opts)
//Synonym for opening the given resource and calling decodeResourceStream(Resources, TypedValue, InputStream, Rect, BitmapFactory.Options).
static Bitmap decodeResource(Resources res, int id)
//Synonym for decodeResource(Resources, int, android.graphics.BitmapFactory.Options) will null Options.
static Bitmap decodeResourceStream(Resources res, TypedValue value, InputStream is, Rect pad, BitmapFactory.Options opts)
//Decode a new Bitmap from an InputStream.
static Bitmap decodeStream(InputStream is)
//Decode an input stream into a bitmap.
static Bitmap decodeStream(InputStream is, Rect outPadding, BitmapFactory.Options opts)
//Decode an input stream into a bitmap.

1.5.3亚情、使用BitmapDrawable獲取Bitmap對(duì)象
BitmapDrawable繼承于Drawable
//方法一
Resources res;
InputStream is=res.openRawResource(R.drawable.pic);
BitmapDrawable bitmapDrawable=new BitmapDrawable(is);
Bitmap bmp=bitmapDrawable.getBitmap();

//方法二
Resources res;
BitmapDrawable bitmapDrawable=(BitmapDrawable)res.getDrawable(R.drawable.pic);
Bitmap bmp=bitmapDrawable.getBitmap();

//方法三
ImageView image妄痪;
image.setImageBitmap(BitmapFactory.decodeStream(~~~~));
BitmapDrawable bitmapDrawable=(BitmapDrawable)image.getDrawable();
Bitmap bmp=bitmapDrawable.getBitmap();

1.6、附上Bitmap與byte[]的轉(zhuǎn)換關(guān)系
1.6.1势似、Bitmap2Bytes
public byte[] Bitmap2Bytes(Bitmap bmp) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//public boolean compress (Bitmap.CompressFormat format, int quality, OutputStream stream)
bmp.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream );
return byteArrayOutputStream.toByteArray();
}

1.6.2拌夏、Bytes2Bitmap
static Bitmap decodeByteArray(byte[] data, int offset, int length, BitmapFactory.Options opts)
//Decode an immutable bitmap from the specified byte array.
//解析byte[]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市履因,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盹愚,老刑警劉巖栅迄,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異皆怕,居然都是意外死亡毅舆,警方通過(guò)查閱死者的電腦和手機(jī)西篓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)憋活,“玉大人岂津,你說(shuō)我怎么就攤上這事≡眉矗” “怎么了吮成?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)辜梳。 經(jīng)常有香客問(wèn)我粱甫,道長(zhǎng),這世上最難降的妖魔是什么作瞄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任茶宵,我火速辦了婚禮,結(jié)果婚禮上宗挥,老公的妹妹穿的比我還像新娘乌庶。我一直安慰自己,他們只是感情好契耿,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布安拟。 她就那樣靜靜地躺著,像睡著了一般宵喂。 火紅的嫁衣襯著肌膚如雪糠赦。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天锅棕,我揣著相機(jī)與錄音拙泽,去河邊找鬼。 笑死裸燎,一個(gè)胖子當(dāng)著我的面吹牛顾瞻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播德绿,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼荷荤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了移稳?” 一聲冷哼從身側(cè)響起蕴纳,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎个粱,沒(méi)想到半個(gè)月后古毛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年稻薇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嫂冻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡塞椎,死狀恐怖桨仿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情案狠,我是刑警寧澤服傍,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站莺戒,受9級(jí)特大地震影響伴嗡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜从铲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一瘪校、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧名段,春花似錦阱扬、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)斯入。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鳄哭,已是汗流浹背虱痕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工域仇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留葫哗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓振湾,卻偏偏與公主長(zhǎng)得像杀迹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子押搪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 2021期待與你一起共事树酪,點(diǎn)擊查看崗位[http://www.reibang.com/p/6f4d67fa406...
    閑庭閱讀 16,609評(píng)論 0 75
  • 參考資料 目錄 Bitmap BitmapFactory Bitmap加載方法 Bitmap | Drawable...
    玄策閱讀 2,756評(píng)論 0 7
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,504評(píng)論 25 707
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 6,358評(píng)論 0 17
  • 借助中藥給大家祝新年: 人參雖苦短大州,但有遠(yuǎn)志成续语。 莫待白頭翁,悔插山茱萸摧茴。 故而早防己绵载,以免老防風(fēng)。 茵陳而守舊苛白,...
    春林戈革閱讀 398評(píng)論 0 0