Android基礎(chǔ)04-基本控件及表單三大控件

一、控件回顧:

(一)仓坞、需要掌握的n個(gè)UI控件背零、組件名稱:

(二)、基本控件:——?TextView:

1无埃、andorid:text

2徙瓶、android:textColor

3、android:textSize

4嫉称、andorid:height

5侦镇、android:width

6、android:inputType

7织阅、android:singleLine

8壳繁、android:gravity

9、android:drawableLeft

10荔棉、android:drawableRight

11闹炉、android:drawableTop

12、android:drawableBottom

13润樱、android:autoLink? (web / email / phone / map / all / none)

14渣触、android:hint


二、基本控件:—— EditText

(一)壹若、?EditText?類結(jié)構(gòu):

java.lang.Object

? ??? android.view.View

?? ?? ?? android.widget.TextView

?? ?? ?? ?? android.widget.EditText

備注:EditView類繼承自TextView類嗅钻,EditView與TextView最大的不同就是用戶可以對(duì)EditView控件進(jìn)行編輯,同時(shí)還可以為EditView控件設(shè)置監(jiān)聽器舌稀,用來判斷用戶的輸入是否合法啊犬。

(二)、EditView常用屬性:


(三)壁查、android:inputType的可選項(xiàng):

android:inputType="textPersonName"

android:inputType="textPassword"

android:inputType="numberPassword"

android:inputType="textEmailAddress"

android:inputType="phone"

android:inputType="textPostalAddress"

android:inputType="time"

android:inputType="date"

android:inputType="number"

(四)觉至、EditText常用方法:

1、setText?()

2睡腿、getText?()


三语御、基本控件:——?ImageView:

(一)峻贮、類結(jié)構(gòu):

java.lang.Object

? ?? android.view.View

?? ? ? android.widget.ImageView

(二)、 ImageView?常用屬性:

1应闯、andorid:src?? 設(shè)置圖片來源纤控。屬性值為android:src="@drawable/圖片名稱"

2、android:adjustViewBounds?? ?用于設(shè)置 ImageView?是否調(diào)整自己的邊界碉纺,來保持所顯示圖片的長(zhǎng)寬比例船万。屬性值為true或false

3、 android:maxHeight?? ? ? 設(shè)置 ImageView?的最大高度骨田。需要先設(shè)置android:adjustViewBounds為true耿导,否則不起作用。

4态贤、andorid:maxWidth?? ? ? ? 設(shè)置 ImageView?的最大寬度舱呻。需要先設(shè)置android:adjustViewBounds為true,否則不起作用悠汽。

5箱吕、 android:scaleType?? ? ? ? ? 設(shè)置所顯示的圖片如何縮放或移動(dòng),以適應(yīng)ImageView的大小柿冲〔绺撸可選項(xiàng):fitCenter、fitStart 假抄、 fitEnd雅采、 fitXY 、?center慨亲、centerCrop婚瓜、centerInside、matrix

matrix ?:保持原圖大小刑棵、從左上角的點(diǎn)開始巴刻,以矩陣形式繪圖。 MATRIX 用圖片的矩陣從左向開始來畫蛉签,不做任何拉伸胡陪。如果一個(gè)100*100的ImageView,它的src是10*10的小圖碍舍,則圖顯示在左上角柠座,如果scr是200*200的大圖,則截取它左上的100*100做顯示片橡。

fitXY?:把圖片按照指定的大小在View中顯示妈经,拉伸顯示圖片,不保持原比例,填滿View.?FIT_XY 不保持圖片橫寬比吹泡,把圖片的寬和高分別拉伸或縮放至ImageView的大小骤星。如果是一個(gè)100*100的ImageView,它的src是20*10爆哑,則直接把它拉伸為100*100后顯示洞难,如果src是200*100,則把它縮放為100*100后顯示揭朝,此種方法容易導(dǎo)致圖片變形队贱。

fitStart?:把圖片按比例擴(kuò)大(縮小)到View的寬度,顯示在View的上部分位置 潭袱。FIT_START 與 FIT_CENTER 縮放拉伸原則一樣露筒,區(qū)別是處理過的圖片居左顯示。

fitCenter?:把圖片按比例擴(kuò)大(縮小)到View的寬度敌卓,居中顯示?。FIT_CENTER 保持橫寬比伶氢,對(duì)圖片進(jìn)行拉伸或縮放趟径,原則是:

1)圖片能完整顯示;

2)圖片寬或高至少有一樣與ImageView的相同癣防;

3)處理過的圖片居中顯示蜗巧。

如果是一個(gè)100*100的ImageView,它的src是20*10蕾盯,先把圖片等比放大到100*50幕屹,然后再居中顯示。它的src是100*200级遭,會(huì)先把圖片等比縮放到50*100望拖,然后再居中顯示。

fitEnd?:把圖片按比例擴(kuò)大(縮小)到View的寬度挫鸽,顯示在View的下部分位置 说敏。FIT_END 與 FIT_CENTER縮放拉伸原則一樣,區(qū)別是處理過的圖片居右顯示丢郊。

Center?: 以原圖的幾何中心點(diǎn)和ImagView的幾何中心點(diǎn)為基準(zhǔn)盔沫,按圖片的原來size居中顯示,不縮放枫匾, 當(dāng)圖片長(zhǎng)/寬超過View的長(zhǎng)/寬架诞,則截取圖片的居中部分顯示ImageView的size. 當(dāng)圖片小于View 的長(zhǎng)寬時(shí),只顯示圖片的size,不剪裁干茉。 CENTER 不做任何拉伸谴忧,以居中的方式顯示圖片。如果是一個(gè)100*100的ImageView,它的src是10*10的小圖俏蛮,則圖顯示在的中央撑蚌,如果src是200*200的大圖,截取中間的100*100用來顯示搏屑。

centerCrop?:以原圖的幾何中心點(diǎn)和ImagView的幾何中心點(diǎn)為基準(zhǔn)争涌,按比例擴(kuò)大(圖片小于View的寬時(shí))圖片的size。 居中顯示辣恋,使得圖片長(zhǎng) (寬)等于或大于View的長(zhǎng)(寬),并按View的大小截取圖片亮垫。 當(dāng)原圖的size大于ImageView時(shí),按比例縮小圖片伟骨,使得長(zhǎng)寬中有一向等于ImageView,另一向大于ImageView饮潦。?CENTER_CROP 保持圖片橫寬比,以圖片中心為基點(diǎn)進(jìn)行拉伸顯示携狭,拉伸的原則是填充滿整個(gè)ImageView继蜡。如果是一個(gè)100*100的ImageView,它的src是20*10逛腿,則它會(huì)被等比拉伸成200*100稀并,然后再截取其中央的100*100顯示。如果src是200*300的单默,直接截取中央的100*100顯示碘举,不做任何拉伸或縮放。

centerInside?:以原圖的幾何中心點(diǎn)和ImagView的幾何中心點(diǎn)為基準(zhǔn)搁廓,將圖片的內(nèi)容完整居中顯示引颈, 通過按比例縮小原來的size使得圖片長(zhǎng)(寬)等于或小于ImageView的長(zhǎng)(寬)。CENTER_INSIDE 保持圖片橫寬比境蜕,以圖片中心為基點(diǎn)進(jìn)行縮放顯示蝙场,縮放的原則是顯示完整個(gè)圖片。如果是一個(gè)100*100的ImageView粱年,它的src是20*10李丰,它直接居中顯示。如果src是200*100的逼泣,先把圖片等比縮小到100*50趴泌,然后再居中顯示。

一般情況下拉庶,設(shè)置為centerCrop能獲得較好的適配效果嗜憔。

(三)、ImageView常用方法:

1氏仗、setImageBitmap()

2吉捶、setImageDrawable()

3夺鲜、setImageResource()

(四)、實(shí)現(xiàn)圖片變換的核心代碼:

? ??????


四呐舔、基本控件:——?RadioButton及RadioGroup

(一)币励、類結(jié)構(gòu)介紹:

java.lang.Object

? ?? android.view.View

? ? ? android.view.ViewGroup

? ? ? ? android.widget.LinearLayout

? ? ? ? ? android.widget.RadioGroup

java.lang.Object

? ?? android.view.View

? ? ? android.widget.TextView

? ? ? ? android.widget.Button

? ? ? ? ? android.widget.CompoundButton

? ? ? ? ? ? android.widget.RadioButton

RadioButton繼承于Button,所以具有普通按鈕的各種屬性珊拼,但是與普通按鈕不同的是食呻,RadioButton提供了可選中的功能。在使用RadioButton的時(shí)候澎现,要使用RadioGroup來包圍起這些RadioButton仅胞。

【備注:】RadioGroup是LinearLayout的子類,所以RadioGroup本質(zhì)上是一個(gè)存放RadioButton的布局容器剑辫。

需要記住的是:默認(rèn)的LinearLayout布局的Orientation屬性是水平的干旧,而默認(rèn)的RadioGroup的Orientation屬性是垂直的。

(二)妹蔽、重點(diǎn)記憶的類方法:

1椎眯、RadioGroup類中的getCheckedRadioButtonId()

(三)、核心代碼:

// A.胳岂、UI的代碼:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical">


android:id="@+id/button_main_submit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:onClick="clickButton"

android:text="提交"/>


android:id="@+id/radioGroup_main_sex"

android:layout_width="wrap_content"

android:layout_height="wrap_content">


android:id="@+id/radioButton_main_female"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="女"/>


android:id="@+id/radioButton_main_male"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:checked="true"

android:text="男"/>


// B编整、java代碼:

public class MainActivityextendsActivity {

private RadioGroup?radioGroup_main_sex;

private Button?button_main_submit;

@Override

protected void onCreate(Bundle savedInstanceState) {

????super.onCreate(savedInstanceState);

????setContentView(R.layout.activity_main);

????button_main_submit?= (Button) findViewById(R.id.button_main_submit);

????radioGroup_main_sex?= (RadioGroup) findViewById(R.id.radioGroup_main_sex);

????button_main_submit.setOnClickListener(newOnClickListener() {

????????@Override

????????public void onClick(View v) {

????????// 獲取勾選項(xiàng)的id

????????intid =?radioGroup_main_sex.getCheckedRadioButtonId();

????????// 通過id找到被勾選項(xiàng)的控件

????????RadioButton radioButton = (RadioButton) findViewById(id);

????????// 通過控件的getText()方法找到該控件的text屬性的值

????????String result = radioButton.getText().toString();

????????Toast.makeText(MainActivity.this,?"您選擇了:"?+ result,

????????Toast.LENGTH_LONG).show();

????????}

});

radioGroup_main_sex

.setOnCheckedChangeListener(newOnCheckedChangeListener() {

????@Override

????public void onCheckedChanged(RadioGroup group,intcheckedId) {

????????RadioButton radioButton = (RadioButton) findViewById(checkedId);

????????String result = radioButton.getText().toString();

????????Toast.makeText(MainActivity.this,?"您選擇了:"?+ result,

????????Toast.LENGTH_LONG).show();

????}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

????// Inflate the menu; this adds items to the action bar if it is present.

????getMenuInflater().inflate(R.menu.main, menu);

????return true;

}

}


五、CheckBox:

(一)旦万、 類結(jié)構(gòu)介紹:

java.lang.Object

? ?? android.view.View

? ? ? android.widget.TextView

? ? ? ? android.widget.Button

? ? ? ? ? android.widget.CompoundButton

? ? ? ? ? ? android.widget.CheckBox

CheckBox繼承于Button,所以具有普通按鈕的各種屬性镶蹋,但是與普通按鈕不同的是成艘, CheckBox 提供了可選中的功能。

【備注:】CheckBox有一個(gè)父類是CompoundButton贺归,所以在使用監(jiān)聽器的時(shí)候要注意跟單選項(xiàng)進(jìn)行區(qū)別淆两。

(二)、核心代碼:

A.拂酣、UI的代碼:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical">


android:id="@+id/checkBox_main_hobby1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="游泳"/>


android:id="@+id/checkBox_main_hobby2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="上網(wǎng)"/>


android:id="@+id/checkBox_main_hobby3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="音樂"/>


android:id="@+id/checkBox_main_hobby4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="睡覺"/>


android:id="@+id/checkBox_main_selectall"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="全選"/>


android:id="@+id/button_main_submit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="提交"/>

B秋冰、java代碼:

public class MainActivityextendsActivity {

private CheckBox?checkBox_main_hobby1;

private CheckBox?checkBox_main_hobby2;

private CheckBox?checkBox_main_hobby3;

private CheckBox?checkBox_main_hobby4;

private CheckBox?checkBox_main_selectall;

private Button?button_main_submit;

@Override

protected void onCreate(Bundle savedInstanceState) {

????super.onCreate(savedInstanceState);

????setContentView(R.layout.activity_main);

????checkBox_main_hobby1?= (CheckBox) findViewById(R.id.checkBox_main_hobby1);

????checkBox_main_hobby2?= (CheckBox) findViewById(R.id.checkBox_main_hobby2);

????checkBox_main_hobby3?= (CheckBox) findViewById(R.id.checkBox_main_hobby3);

????checkBox_main_hobby4?= (CheckBox) findViewById(R.id.checkBox_main_hobby4);

????checkBox_main_selectall?= (CheckBox) findViewById(R.id.checkBox_main_selectall);

????button_main_submit?= (Button) findViewById(R.id.button_main_submit);

????button_main_submit.setOnClickListener(newOnClickListener() {

????@Override

????public void onClick(View v) {

????Toast.makeText(MainActivity.this,?"您選擇了:"?+ getResult(),

????Toast.LENGTH_SHORT).show();

}

});

// 定義一個(gè)有名字的監(jiān)聽器類。之所以不用匿名內(nèi)部類形式婶熬,是因?yàn)橛卸鄠€(gè)控件都要使用這同一個(gè)監(jiān)聽器

OnCheckedChangeListener listener =newOnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton buttonView,

booleanisChecked) {

????if(!buttonView.isChecked()) {

????????checkBox_main_selectall.setChecked(false);

????}

????if(checkBox_main_hobby1.isChecked()

????&&?checkBox_main_hobby2.isChecked()

????&&?checkBox_main_hobby3.isChecked()

????&&?checkBox_main_hobby4.isChecked()) {

????checkBox_main_selectall.setChecked(true);

????}

????Toast.makeText(MainActivity.this,?"您選擇了:"?+ getResult(),

????Toast.LENGTH_SHORT).show();

????}

};

checkBox_main_hobby1.setOnCheckedChangeListener(listener);

checkBox_main_hobby2.setOnCheckedChangeListener(listener);

checkBox_main_hobby3.setOnCheckedChangeListener(listener);

checkBox_main_hobby4.setOnCheckedChangeListener(listener);

// 給全選checkbox設(shè)置單擊監(jiān)聽事件

checkBox_main_selectall.setOnClickListener(newOnClickListener() {

@Override

public void onClick(View v) {

????booleanflag =?checkBox_main_selectall.isChecked();

????checkBox_main_hobby1.setChecked(flag);

????checkBox_main_hobby2.setChecked(flag);

????checkBox_main_hobby3.setChecked(flag);

? ? ?checkBox_main_hobby4.setChecked(flag);

}

});

}

// 獲取多選項(xiàng)中被勾選的結(jié)果剑勾。利用isChecked()方法來判斷哪個(gè)選項(xiàng)被勾選

private String getResult() {

String Builder sb =newStringBuilder();

if(checkBox_main_hobby1.isChecked()) {

????sb.append(checkBox_main_hobby1.getText());

}

if(checkBox_main_hobby2.isChecked()) {

sb.append(checkBox_main_hobby2.getText());

}

if(checkBox_main_hobby3.isChecked()) {

????sb.append(checkBox_main_hobby3.getText());

}

if(checkBox_main_hobby4.isChecked()) {

????sb.append(checkBox_main_hobby4.getText());

}

????return sb.toString();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

????getMenuInflater().inflate(R.menu.main, menu);

????return true;

}

}


六、Spinner ?(下拉式列表)

(一)赵颅、 類結(jié)構(gòu)介紹:

java.lang.Object

? ?? android.view.View

? ? ? android.view.ViewGroup

? ? ? ? android.widget.AdapterView

? ? ? ? ? android.widget.AbsSpinner

? ? ? ? ? ? android.widget.Spinner

(二)虽另、核心代碼:

A.、UI的代碼:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical">


android:id="@+id/spinner_main_edu"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>


android:id="@+id/button_main_submit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="@dimen/button_main_submit_fontsize"

android:text="提交"/>


android:id="@+id/text_main_info"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text=""/>

B饺谬、java代碼:

public class MainActivityextendsActivity {

????private Spinner?spinner_main_edu;

????private Button?button_main_submit;

????private TextView?text_main_info;

????private ArrayAdapter?adapter?=null;

????@Override

????protected void onCreate(Bundle savedInstanceState) {

????super.onCreate(savedInstanceState);

????setContentView(R.layout.activity_main);

????button_main_submit?= (Button) findViewById(R.id.button_main_submit);

????text_main_info?= (TextView) findViewById(R.id.text_main_info);

????// 設(shè)置數(shù)據(jù)源

????String[] strArr =newString[] {?"初中",?"高中",?"中專",?"大專",?"大本",?"研究生"?};

????spinner_main_edu?= (Spinner) findViewById(R.id.spinner_main_edu);

????// 構(gòu)建適配器捂刺。Spinner控件常用ArrayAdapter適配器,只顯示文本。

????// ArrayAdapter是數(shù)組適配器族展。第一個(gè)參數(shù)是上下文對(duì)象或者說是環(huán)境對(duì)象森缠,第二個(gè)參數(shù)是顯示數(shù)據(jù)的布局id,

????// 布局id可以自定義布局仪缸,也可以使用系統(tǒng)自帶的布局贵涵。如果使用系統(tǒng)的布局,則使用android.R.layout.的形式來調(diào)用腹殿。

????// 第三個(gè)參數(shù)是需要加載的數(shù)據(jù)源數(shù)組独悴。至于是哪種類型的數(shù)組,取決于ArrayAdapter的泛型類型锣尉。

????adapter?=newArrayAdapter(MainActivity.this,

????android.R.layout.simple_list_item_single_choice, strArr);

????// 給控件設(shè)置適配器

????spinner_main_edu.setAdapter(adapter);

????spinner_main_edu

.????setOnItemSelectedListener(newAdapterView.OnItemSelectedListener() {

????????@Override

????????public void onItemSelected(AdapterView parent,

????????View view,intposition,longid) {

????????// 方法1:利用AdapterView的getItemAtPosition(position)獲取item的內(nèi)容

????????String data = parent.getItemAtPosition(position)

????????.toString();

????????// 方法2:利用AdapterView的getSelectedItem()獲取item的內(nèi)容

????????String data2 = parent.getSelectedItem().toString();

????????// String data3 = spinner_main_edu.getItemAtPosition(

????????// position).toString();

????????// String data4 = spinner_main_edu.getSelectedItem()

????????// .toString();

????????// 方法3:利用adapter的getItem()獲取item的內(nèi)容

????????String data3 =?adapter.getItem(position);

????????text_main_info

????????.setText(data +?":"?+ data2 +?":"?+ data3);

}

????????@Override

????????public voidonNothingSelected(AdapterView parent) {

????????}

});

// 以下代碼看似正確刻炒,實(shí)際上是錯(cuò)誤的。java.lang.RuntimeException: setOnItemClickListener

// cannot be used with a spinner.

// spinner_main_edu

// .setOnItemClickListener(new AdapterView.OnItemClickListener() {

//

// @Override

// public void onItemClick(AdapterView parent, View view,

????//int position, long id) {

????// String data2 = parent.getSelectedItem().toString();

????// text_main_info.setText(data2 + ":" + data2);

// }

// });

button_main_submit.setOnClickListener(newView.OnClickListener() {

@Override

public void onClick(View v) {

????String data =?spinner_main_edu.getSelectedItem().toString();

????text_main_info.setText(getResources().getString(

????R.string.text_main_info_str)

????+ data);

}

});

// XmlResourceParser pullParser = getResources().getXml(

// R.xml.citys_weather);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

????// Inflate the menu; this adds items to the action bar if it is present.

????getMenuInflater().inflate(R.menu.main, menu);

????return true;

}

}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末自沧,一起剝皮案震驚了整個(gè)濱河市坟奥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拇厢,老刑警劉巖爱谁,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異孝偎,居然都是意外死亡访敌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門衣盾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寺旺,“玉大人,你說我怎么就攤上這事势决∽杷埽” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵果复,是天一觀的道長(zhǎng)陈莽。 經(jīng)常有香客問我,道長(zhǎng)虽抄,這世上最難降的妖魔是什么走搁? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮迈窟,結(jié)果婚禮上朱盐,老公的妹妹穿的比我還像新娘。我一直安慰自己菠隆,他們只是感情好兵琳,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布狂秘。 她就那樣靜靜地躺著,像睡著了一般躯肌。 火紅的嫁衣襯著肌膚如雪者春。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天清女,我揣著相機(jī)與錄音钱烟,去河邊找鬼。 笑死嫡丙,一個(gè)胖子當(dāng)著我的面吹牛拴袭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播曙博,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼拥刻,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了父泳?” 一聲冷哼從身側(cè)響起般哼,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惠窄,沒想到半個(gè)月后蒸眠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杆融,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年楞卡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脾歇。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒋腮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出介劫,到底是詐尸還是另有隱情徽惋,我是刑警寧澤案淋,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布座韵,位于F島的核電站,受9級(jí)特大地震影響踢京,放射性物質(zhì)發(fā)生泄漏誉碴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一瓣距、第九天 我趴在偏房一處隱蔽的房頂上張望黔帕。 院中可真熱鬧,春花似錦蹈丸、人聲如沸成黄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奋岁。三九已至思瘟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闻伶,已是汗流浹背滨攻。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蓝翰,地道東北人光绕。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像畜份,于是被迫代替她去往敵國和親诞帐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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