ActionBar與ToolBar

Toolbar 是 Android 5.0 推出的一個(gè) Material Design 風(fēng)格的導(dǎo)航控件 ,用來(lái)取代之前的 Actionbar 。與 Actionbar 相比,Toolbar 明顯要靈活的多。它不像 Actionbar 一樣潜沦,一定要固定在Activity的頂部鸵熟,而是可以放到界面的任意位置。

開(kāi)始使用

1煮寡、首先就是在布局文件中使用虹蓄,很簡(jiǎn)單,就跟平承宜海控件一樣用就可以薇组!?


<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent">

? ? <android.support.v7.widget.Toolbar

android:background="@color/app_bg"

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="?attr/actionBarSize">

? ? </android.support.v7.widget.Toolbar>

</RelativeLayout>

2、由于我們?cè)诖a用是以setSupportActionBar(toolbar)的方式去使用toolbar的杈帐,一也就是代替actionbar体箕,那么我們就需要把a(bǔ)ctionbar去掉,一山不容二虎L敉@矍Α!去掉actionbar要自定義下主題站叼,自定義一個(gè)Base.AppTheme樣式?

<resources>

? ? <style name="Base.AppTheme" parent="Theme.AppCompat">

? ? ? ? <!--去掉原來(lái)的ActionBar-->

? ? ? ? <item name="windowActionBar">false</item>

? ? ? ? <item name="android:windowNoTitle">true</item>

? ? ? ? <!-- API Level 22 編譯要去點(diǎn)android -->

? ? ? ? <item name="windowNoTitle">true</item>

? ? ? ? <!-- Actionbar color -->

? ? ? ? <item name="colorPrimary">@color/material_deep_teal_500</item>

? ? ? ? <!--Status bar color-->

? ? ? ? <item name="colorPrimaryDark">@color/material_deep_teal_500</item>

? ? ? ? <!--Window color-->

? ? ? ? <item name="android:windowBackground">@color/dim_foreground_material_dark</item>

? ? </style>

? ? <!-- Base application theme. -->

? ? <style name="AppTheme" parent="Base.AppTheme">

? ? <!-- 這個(gè)屬性之所以注釋掉是因?yàn)樗荒茉?.0之后使用娃兽,所以一定要定義它的話需要在/res/valuse-v21/sytles.xml中進(jìn)行定義 -->

? ? <!-- <item name="android:navigationBarColor">@color/accent_material_light</item> -->

? ? </style>

</resources>

至此,我們的toobar已經(jīng)可以正常顯示出來(lái)了尽楔,不過(guò)先不急投储,我們先設(shè)置一些標(biāo)題、logo阔馋、之類(lèi)的東西再看效果玛荞,不過(guò)先看看google提供的圖也可以的:?


代碼中對(duì)toolbar最基本的設(shè)置:

publicclassMainActivityextendsAppCompatActivity{

@Override

protectedvoidonCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

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

? ? ? ? Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

// Logo

? ? ? ? toolbar.setLogo(R.mipmap.push_4);

// 主標(biāo)題

toolbar.setTitle("Title");

// 副標(biāo)題

toolbar.setSubtitle("Sub Title");

//設(shè)置toolbar

? ? ? ? setSupportActionBar(toolbar);

//左邊的小箭頭(注意需要在setSupportActionBar(toolbar)之后才有效果)

? ? ? ? toolbar.setNavigationIcon(R.mipmap.back);

//菜單點(diǎn)擊事件(注意需要在setSupportActionBar(toolbar)之后才有效果)

? ? ? ? toolbar.setOnMenuItemClickListener(onMenuItemClick);

? ? }

}

經(jīng)過(guò)初步設(shè)計(jì)后,我們就可以看看最原始的效果了E磺蕖勋眯!


三、菜單部分

看了效果圖下梢,結(jié)合代碼其它的不難理解 客蹋,下面就著重說(shuō)一下菜單那部分的實(shí)現(xiàn) ,也就后面的三個(gè)點(diǎn)點(diǎn)點(diǎn)

1孽江、首先我們要為toolbar綁定一個(gè)菜單讶坯,如下:

@Override

publicbooleanonCreateOptionsMenu(Menu menu){

// 綁定toobar跟menu

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

returntrue;

}

2、其中R.menu.menu_main是我們創(chuàng)建的一個(gè)菜單文件岗屏,代碼如下:?


xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

tools:context=".MainActivity">

? ? <item

android:id="@+id/action_edit"

android:icon="@mipmap/push_3"

android:orderInCategory="80"

android:title="@string/action_edit"

app:showAsAction="never"/>

? ? <item

android:id="@+id/action_share"

android:icon="@mipmap/push_3"

android:orderInCategory="90"

android:title="@string/action_edit"

app:showAsAction="never"/>

? ? <item

android:id="@+id/action_settings"

android:icon="@mipmap/push_3"

android:orderInCategory="100"

android:title="@string/action_settings"

app:showAsAction="never"/>

</menu>

下面解析下菜單項(xiàng)的幾個(gè)屬性:

android:icon:這個(gè)屬性是指定每個(gè)菜單項(xiàng)左邊的圖標(biāo)的

android:id:菜單項(xiàng)的唯一標(biāo)識(shí)

android:orderInCategory:菜單項(xiàng)的優(yōu)先級(jí)辆琅,也就是順序,只能設(shè)置大于正整數(shù)这刷,數(shù)值越大菜單項(xiàng)越靠前

android:title:菜單描述婉烟,也就是菜單文字

app:showAsAction:這個(gè)是控制菜單項(xiàng)的顯示的

其中app:showAsAction這個(gè)屬性是比較有意思的我們一個(gè)個(gè)看看他的值都表示什么!

always:設(shè)置這個(gè)值會(huì)讓所有菜單項(xiàng)都會(huì)顯示在toolbar上


ifRoom:設(shè)置這個(gè)值之后崭歧,如果toolbar上還有空間的話就會(huì)顯示優(yōu)先級(jí)高的菜單項(xiàng)在toolbar上,剩下的才顯示在彈出的列表中


never:永遠(yuǎn)不會(huì)顯示在Toolbar上撞牢,只會(huì)在溢出列表中出現(xiàn)

withText:這個(gè)屬性我看了下效果是跟never一個(gè)樣不知道是不是我哪里沒(méi)設(shè)置對(duì)B誓搿J逵!

collapseActionView:這個(gè)屬性通俗的說(shuō)就是聲明某一個(gè)菜單項(xiàng)單獨(dú)顯示在toolbar上所宰,而不是顯示在打開(kāi)的菜單中绒尊,一般配合ifRoom使用,如下:


3仔粥、還有個(gè)小問(wèn)題婴谱,就是正常的設(shè)置完之后菜單item圖標(biāo)是不會(huì)顯示的,我們需要重寫(xiě)onPrepareOptionsPanel(View view, Menu menu)方法躯泰,這樣才能正常顯示圖標(biāo)谭羔,代碼如下:

@Override

protectedbooleanonPrepareOptionsPanel(View view, Menu menu){

if(menu !=null) {

if(menu.getClass() == MenuBuilder.class) {

try{

Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);

m.setAccessible(true);

m.invoke(menu,true);

}catch(Exception e) {

? ? ? ? ? ? ? ? e.printStackTrace();

? ? ? ? ? ? }

? ? ? ? }

? ? }

returnsuper.onPrepareOptionsPanel(view, menu);

}

4、設(shè)置菜單的點(diǎn)擊事件麦向,前面我們已經(jīng)看到了toolbar.setOnMenuItemClickListener(onMenuItemClick);這句代碼瘟裸,那么onMenuItemClick的實(shí)現(xiàn)如下:?

privateToolbar.OnMenuItemClickListener onMenuItemClick =newToolbar.OnMenuItemClickListener() {

@Override

publicbooleanonMenuItemClick(MenuItem menuItem){

String msg ="";

switch(menuItem.getItemId()) {

caseR.id.action_edit:

msg +="Click edit";

break;

caseR.id.action_share:

msg +="Click share";

break;

caseR.id.action_settings:

msg +="Click setting";

break;

? ? ? ? }

if(!msg.equals("")) {

Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();

? ? ? ? }

returntrue;

? ? }

};

5、這樣诵竭,菜單的基本功能就實(shí)現(xiàn)了话告,雖然大家都說(shuō)程序員的審美觀都不是很好(說(shuō)這話的站出來(lái),保證不打死你卵慰,沙郭,)大家有木有覺(jué)得黑乎乎的很難看?并且位置把toolbar都擋住了裳朋,對(duì)于有強(qiáng)迫癥的我來(lái)說(shuō)使無(wú)法容忍的病线,那么我們就修整一下吧!?

其實(shí)我們可以通過(guò)toobar的app:popupTheme="@style/menu_bg"屬性來(lái)指定一個(gè)自定義的樣式再扭,而那么這個(gè)樣式具體能定義寫(xiě)什么呢氧苍,我們?cè)敿?xì)看看:?

<!--自定義toolbar菜單樣式-->


false

? ? <!-- 彈出層背景顏色 -->

@color/material_deep_teal_500

? ? <!-- 彈出層垂直方向上的偏移,負(fù)值會(huì)覆蓋toolbar -->

5dp

? ? <!-- 彈出層水平方向上的偏移泛范,即距離屏幕左邊的距離让虐,負(fù)值會(huì)導(dǎo)致右邊出現(xiàn)空隙 -->

-2dp

? ? <!--文字顏色-->

@color/toolbar_meun

</style>

定義好樣式后需要在app的主題中引用該樣式,才能改變溢出框內(nèi)的文字顏色罢荡,如下:?

<!-- Base application theme. -->

? ? <!--指定toolbar彈出菜單樣式-->

@style/toolbarMenuStyle

</style>

最后在toolbar中引用:

<android.support.v7.widget.Toolbar

android:background="@color/material_deep_teal_500"

android:id="@+id/toolbar"

android:layout_width="match_parent"

app:popupTheme="@style/toolbarMenuStyle"

android:layout_height="?attr/actionBarSize">

</android.support.v7.widget.Toolbar>

ok赡突,至此我們對(duì)toolbar溢出框的調(diào)整已經(jīng)初步完成,看看效果如何:


四区赵、優(yōu)化

????????到了這里惭缰,我們已經(jīng)能簡(jiǎn)單的使用ToolBar了,那么需求隨時(shí)都會(huì)改變的笼才,比如說(shuō)有的人就不需要logo漱受、也不需要主標(biāo)題副標(biāo)題等,他就要在toolbar上加個(gè)搜索框骡送!或者是要只要主標(biāo)題昂羡,并且主標(biāo)題要居中顯示絮记,那也只能做咯,畢竟產(chǎn)品經(jīng)常被砍也不是沒(méi)有原因的虐先!

如果你有過(guò)這樣的需求怨愤,你會(huì)發(fā)現(xiàn)原生的ToolBar的主標(biāo)題是沒(méi)法居中顯示的,所以我們需要將主標(biāo)題設(shè)置為空蛹批,然后自己寫(xiě)一個(gè)標(biāo)題到ToolBar中撰洗,然后設(shè)置居中顯示:


<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent">

? ? <android.support.v7.widget.Toolbar

android:background="@color/material_deep_teal_500"

android:id="@+id/toolbar"

android:layout_width="match_parent"

app:popupTheme="@style/toolbarMenuStyle"

android:layout_height="?attr/actionBarSize">

? ? ? ? <TextView

android:layout_gravity="center"

android:textColor="@color/toolbar_meun"

android:textSize="24sp"

android:text="ToolBar"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

? ? </android.support.v7.widget.Toolbar>

</RelativeLayout>

注意,需要在代碼中對(duì)主標(biāo)題設(shè)置為空字符串腐芍,否則會(huì)出現(xiàn)默認(rèn)的主標(biāo)題:?

// 主標(biāo)題

toolbar.setTitle("");


五差导、側(cè)滑菜單

????????經(jīng)過(guò)上面的介紹,其實(shí)已經(jīng)能夠使用Toolbar做挺多事情了甸赃,那么下面利用ToolBar配合DrawerLyout快速實(shí)現(xiàn)一個(gè)側(cè)滑菜單看看柿汛!

1、布局文件實(shí)現(xiàn)埠对,這里我寫(xiě)得比較亂络断,又有點(diǎn)偷懶不想改了,還是比較建議多使用include的方式的!


<android.support.v4.widget.DrawerLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/dl_left"

android:layout_width="match_parent"

android:layout_height="match_parent">

? ? <!--主布局代碼-->

? ? <LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent">

? ? ? ? <android.support.v7.widget.Toolbar

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="?attr/actionBarSize"

android:background="@color/material_deep_teal_500"

app:popupTheme="@style/toolbarMenuStyle">

? ? ? ? ? ? <TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="ToolBar"

android:textColor="@color/toolbar_meun"

android:textSize="24sp"/>

? ? ? ? </android.support.v7.widget.Toolbar>

? ? </LinearLayout>

? ? <!--側(cè)滑欄布局-->

? ? <LinearLayout

android:background="@color/material_deep_teal_500"

android:layout_width="match_parent"

android:layout_gravity="start"

android:orientation="vertical"

android:layout_height="match_parent">

? ? ? ? <ImageView

android:layout_width="match_parent"

android:scaleType="centerCrop"

android:src="@mipmap/aa"

android:layout_height="150dp"/>

? ? ? ? <LinearLayout

android:gravity="center"

android:background="@color/window_bg"

android:layout_width="match_parent"

android:layout_height="match_parent">

? ? ? ? ? ? <TextView

android:text="菜單項(xiàng)"

android:layout_width="wrap_content"

android:textColor="#333"

android:textSize="24dp"

android:layout_height="wrap_content"/>

? ? ? ? </LinearLayout>

? ? </LinearLayout>

</android.support.v4.widget.DrawerLayout>

這里一定要注意android:layout_gravity="start"屬性的設(shè)置项玛!

下面是整個(gè)java類(lèi)的完整代碼

publicclassMainActivityextendsAppCompatActivity{

privateDrawerLayout? ? ? ? ? mDrawerLayout;

privateActionBarDrawerToggle mDrawerToggle;

privateToolbar mToolbar;

@Override

protectedvoidonCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

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

? ? ? ? mToolbar = (Toolbar) findViewById(toolbar);

? ? ? ? mDrawerLayout = (DrawerLayout) findViewById(R.id.dl_left);

// Logo

//toolbar.setLogo(R.mipmap.ic_launcher);

// 主標(biāo)題

mToolbar.setTitle("");

// 副標(biāo)題

//toolbar.setSubtitle("Sub Title");

//設(shè)置toolbar

? ? ? ? setSupportActionBar(mToolbar);

//左邊的小箭頭(注意需要在setSupportActionBar(toolbar)之后才有效果)

? ? ? ? mToolbar.setNavigationIcon(R.mipmap.store_home_tab_index_pre);

//菜單點(diǎn)擊事件(注意需要在setSupportActionBar(toolbar)之后才有效果)

? ? ? ? mToolbar.setOnMenuItemClickListener(onMenuItemClick);

//創(chuàng)建返回鍵貌笨,并實(shí)現(xiàn)打開(kāi)關(guān)/閉監(jiān)聽(tīng)

mDrawerToggle =newActionBarDrawerToggle(this, mDrawerLayout, mToolbar, R.string.open, R.string.close) {

@Override

publicvoidonDrawerOpened(View drawerView){

super.onDrawerOpened(drawerView);

//側(cè)滑欄打開(kāi)

? ? ? ? ? ? }

@Override

publicvoidonDrawerClosed(View drawerView){

super.onDrawerClosed(drawerView);

//側(cè)滑欄關(guān)閉

? ? ? ? ? ? }

? ? ? ? };

//mDrawerToggle.syncState();此處注釋掉是為了不使用默認(rèn)的開(kāi)關(guān)箭頭

//設(shè)置偵聽(tīng)

? ? ? ? mDrawerLayout.addDrawerListener(mDrawerToggle);

? ? }

privateToolbar.OnMenuItemClickListener onMenuItemClick =newToolbar.OnMenuItemClickListener() {

@Override

publicbooleanonMenuItemClick(MenuItem menuItem){

String msg ="";

switch(menuItem.getItemId()) {

caseR.id.action_edit:

msg +="Click edit";

break;

caseR.id.action_share:

msg +="Click share";

break;

caseR.id.action_settings:

msg +="Click setting";

break;

? ? ? ? ? ? }

if(!msg.equals("")) {

Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();

? ? ? ? ? ? }

returntrue;

? ? ? ? }

? ? };

@Override

publicbooleanonCreateOptionsMenu(Menu menu){

// 綁定toobar跟menu

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

returntrue;

? ? }

@Override

protectedbooleanonPrepareOptionsPanel(View view, Menu menu){

if(menu !=null) {

if(menu.getClass() == MenuBuilder.class) {

try{

Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);

m.setAccessible(true);

m.invoke(menu,true);

}catch(Exception e) {

? ? ? ? ? ? ? ? ? ? e.printStackTrace();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

returnsuper.onPrepareOptionsPanel(view, menu);

? ? }

}

其中ActionBarDrawerToggle是對(duì)Toolbar上的開(kāi)關(guān)跟側(cè)滑欄進(jìn)行關(guān)聯(lián)的!

到這里襟沮,我們的toolbar跟側(cè)滑都說(shuō)了一些 簡(jiǎn)單的使用锥惋,下面看看側(cè)滑欄的圖:


git地址:https://gitee.com/sddhkhyy/ToolBarDemo.git

本文轉(zhuǎn)載自:https://blog.csdn.net/monalisatearr/article/details/78415585?utm_source=copy?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市开伏,隨后出現(xiàn)的幾起案子膀跌,更是在濱河造成了極大的恐慌,老刑警劉巖固灵,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捅伤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡巫玻,警方通過(guò)查閱死者的電腦和手機(jī)丛忆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)仍秤,“玉大人熄诡,你說(shuō)我怎么就攤上這事∈Γ” “怎么了凰浮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我袜茧,道長(zhǎng)屿良,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任惫周,我火速辦了婚禮,結(jié)果婚禮上康栈,老公的妹妹穿的比我還像新娘递递。我一直安慰自己,他們只是感情好啥么,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布登舞。 她就那樣靜靜地躺著,像睡著了一般悬荣。 火紅的嫁衣襯著肌膚如雪菠秒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天氯迂,我揣著相機(jī)與錄音践叠,去河邊找鬼。 笑死嚼蚀,一個(gè)胖子當(dāng)著我的面吹牛禁灼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播轿曙,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼弄捕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了导帝?” 一聲冷哼從身側(cè)響起守谓,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎您单,沒(méi)想到半個(gè)月后斋荞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡睹限,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年譬猫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片羡疗。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡染服,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出叨恨,到底是詐尸還是另有隱情柳刮,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站秉颗,受9級(jí)特大地震影響痢毒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蚕甥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一哪替、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧菇怀,春花似錦凭舶、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至呼伸,卻和暖如春身冀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背括享。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工搂根, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铃辖。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓兄墅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親澳叉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子隙咸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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