SuperTextView 萬(wàn)能android布局工具類(lèi)

文章目錄

  • 1葡幸、功能描述
  • 2、效果圖
  • 3朗恳、如何使用
    • 3.1湿颅、 Android Studio導(dǎo)入方法
    • 3.2、 項(xiàng)目中如何使用
      • 3.2.1粥诫、布局中使用
      • 3.2.2油航、在代碼中使用
      • 3.2.3、屬性介紹
  • 4怀浆、 實(shí)現(xiàn)原理
    • 4.1谊囚、需求分析
    • 4.2、代碼封裝
    • 4.3执赡、總結(jié)

1镰踏、功能描述

你還在為類(lèi)似設(shè)置頁(yè)面的樣式(圖+文字+圖)每次寫(xiě)一大堆布局文件而煩惱嗎?快來(lái)看看SuperTextView吧沙合,這里有你想要實(shí)現(xiàn)的任何樣式奠伪,而你要做的僅僅是引入幾行代碼。SuperTextView是一個(gè)功能強(qiáng)大的布局View,可以滿足日常大部分布局樣式绊率,開(kāi)發(fā)者可以自行組合屬性配置出屬于自己風(fēng)格的樣式!可能描述起來(lái)沒(méi)有概念谨敛,還是直接看效果圖吧!

2滤否、 效果圖

Paste_Image.png

3脸狸、如何使用

Android Studio導(dǎo)入方法,添加Gradle依賴

先在項(xiàng)目根目錄的 build.gradle 的 repositories 添加:

     allprojects {
         repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }

然后在dependencies添加:

        dependencies {
        ...
        compile 'com.github.lygttpod:SuperTextView:2.0.1'
        }

3.2藐俺、項(xiàng)目中如何使用

3.2.1肥惭、布局中如何使用(示例中只列出部分屬性,開(kāi)發(fā)者可根據(jù)具體需求使用其他屬性)
        <com.allen.supertextviewlibrary.SuperTextView
                android:id="@+id/super_tv"
                android:layout_width="match_parent"
                android:layout_height="80dp"
                stv:sLeftBottomTextColor2="@color/colorAccent"
                stv:sLeftBottomTextString="招商銀行(8888)"
                stv:sLeftBottomTextString2="限額說(shuō)明>>"
                stv:sLeftIconRes="@drawable/bank_zhao_shang"
                stv:sLeftTopTextString="銀行卡支付"
                stv:sRightCheckBoxRes="@drawable/circular_check_bg"
                stv:sRightCheckBoxShow="true"
                stv:sLineShow="bottom"
                 />
        注意:
                1紊搪、上下的線可以通過(guò)   sLineShow 設(shè)置  有四種顯示方式 none蜜葱,top,bottom耀石,both
                2牵囤、通過(guò)設(shè)置 sUseRipple=true 開(kāi)啟水波效果
3.2.2、代碼中如何使用
       /**
     * 可以通過(guò)鏈?zhǔn)皆O(shè)置大部分常用的屬性值
     */
        superTextView.setLeftIcon(drawable)
                .setLeftString("")
                .setLeftTVColor(0)
                .setLeftTopString("")
                .setLeftTopTVColor(0)
                .setLeftBottomString("")
                .setLeftBottomTVColor(0)
                .setLeftBottomString2("")
                .setLeftBottomTVColor2(0)
                .setRightString("")
                .setRightTVColor(0)
                .setCbChecked(true)
                .setCbBackground(drawable)
                .setRightIcon(drawable)
                .setRightString("")
                .setRightTVColor(0)
                .setLeftString("")
點(diǎn)擊事件(可根據(jù)需求選擇實(shí)現(xiàn)單個(gè)或者多個(gè)點(diǎn)擊事件滞伟,需要配合x(chóng)ml添加是否允許點(diǎn)擊的屬性揭鳞,詳情見(jiàn)屬性參數(shù)的意義)
        superTextView.setOnSuperTextViewClickListener(new SuperTextView.OnSuperTextViewClickListener() {
                    @Override
                    public void onSuperTextViewClick() {
                        super.onSuperTextViewClick();
                        //do something
                    }

                    @Override
                    public void onLeftTopClick() {
                        super.onLeftTopClick();
                        //do something
                    }

                    @Override
                    public void onLeftBottomClick() {
                        super.onLeftBottomClick();
                        //do something
                    }

                    @Override
                    public void onLeftBottomClick2() {
                        super.onLeftBottomClick2();
                        //do something
                    }
                });

                注意:點(diǎn)擊事件需要配合屬性值使用
                sLeftTopViewIsClickable= true
                sLeftBottomViewIsClickable= true
                sLeftBottomView2IsClickable= true
使用第三方庫(kù)(Picasso或者Glide)加載網(wǎng)絡(luò)圖片
         Picasso.with(this)
         .load(url)
         .placeholder(R.drawable.head_default)
         .into((ImageView) superTextView.getView(SuperTextView.leftImageViewId));
3.2.3、屬性說(shuō)明(以下屬性全部可以通過(guò)xml文件配置和代碼進(jìn)行設(shè)置)
屬性名 字段 描述
sLeftIconRes reference 左邊圖標(biāo)資源
sRightIconRes reference 右邊圖標(biāo)資源
sLeftIconWidth dimension 左邊圖標(biāo)的寬度
sLeftIconHeight dimension 左邊圖標(biāo)的高度
sRightIconWidth dimension 右邊圖標(biāo)的高度
sRightIconHeight dimension 右邊圖標(biāo)的高度
sRightCheckBoxRes reference 右邊CheckBox圖標(biāo)資源
sLeftTextString string 左邊文字字符串
sLeftTopTextString string 左上文字字符串
sLeftBottomTextString string 左下文字字符串
sLeftBottomTextString2 string 左下第二個(gè)文字字符串
sCenterTextString string 中間文字字符串
sRightTextString string 右邊文字字符串
sTopLineMargin dimension 頂部橫線的Margin
sTopLineMarginLeft dimension 頂部橫線的MarginLeft
sTopLineMarginRight dimension 頂部橫線的MarginRight
sBottomLineMargin dimension 底部橫線的Margin
sBottomLineMarginLeft dimension 底部橫線的MarginLeft
sBottomLineMarginRight dimension 底部橫線的MarginRight
sBothLineMargin dimension 上下兩條橫線的Margin
sBothLineMarginLeft dimension 上下兩條橫線的MarginLeft
sBothLineMarginRight dimension 上下兩條橫線的MarginRight
sCenterSpaceHeight dimension top和bottom文字間的高度
sLeftIconMarginLeft dimension 左邊圖標(biāo)MarginLeft
sLeftTextMarginLeft dimension 左邊文字MarginLeft
sLeftTopTextMarginLeft dimension 左上文字MarginLeft
sLeftBottomTextMarginLeft dimension 左下文字MarginLeft
sLeftBottomTextMarginLeft2 dimension 左下第二個(gè)文字MarginLeft
sRightTextStringRightIconRes reference 右邊文字的右邊圖標(biāo)資源
sRightTextStringRightIconResPadding dimension 右邊文字的右邊圖標(biāo)的Padding
sRightIconMarginRight dimension 右邊icon的MarginRight
sRightTextMarginRight dimension 右邊文字的MarginRight
sRightCheckBoxMarginRight dimension 右邊CheckBox的MarginRight
sRightCheckBoxShow boolean 右邊的CheckBox是否顯示
sIsChecked boolean 是否選中
sUseRipple boolean 是否使用點(diǎn)擊出現(xiàn)波紋效果
sLeftTextSize dimension 左邊文字的字體大小
sLeftTopTextSize dimension 左上文字的字體大小
sLeftBottomTextSize dimension 左下文字的字體大小
sLeftBottomTextSize2 dimension 左下第二個(gè)文字的字體大小
sRightTextSize dimension 右邊文字的字體大小
sCenterTextSize dimension 中間文字的字體大小
sBackgroundColor color 背景顏色
sLeftTextColor color 左邊文字顏色
sLeftTopTextColor color 左上文字顏色
sLeftBottomTextColor color 左下文字顏色
sLeftBottomTextColor2 color 左下第二個(gè)文字顏色
sRightTextColor color 右邊文字顏色
sCenterTextColor color 中間文字顏色
sIsSingLines boolean 是否單行顯示
sMaxLines integer 允許的最大行數(shù)
sMaxEms integer 允許的最多字?jǐn)?shù)
sLineShow enum 分割線的顯示方式none梆奈、top野崇、bottom、both
sBothLineWidth dimension 兩條分割線的寬度
sTopLineWidth dimension 上邊分割線的寬度
sBottomLineWidth dimension 下邊分割線的寬度
sLineColor color 分割線的顏色
sLeftTopViewIsClickable boolean 左上view是否可點(diǎn)擊
sLeftBottomViewIsClickable boolean 左下view是否可點(diǎn)擊
sLeftBottomView2IsClickable boolean 左下第二個(gè)view是否可點(diǎn)擊
sBackgroundDrawableRes reference 背景資源

4亩钟、實(shí)現(xiàn)原理

4.1乓梨、需求分析

黑格爾曾說(shuō)過(guò):存在即合理。SuperTextView的出現(xiàn)應(yīng)該就是某種需求下的產(chǎn)物清酥。

在開(kāi)發(fā)項(xiàng)目的過(guò)程中你會(huì)發(fā)現(xiàn)有很多頁(yè)面的布局都是類(lèi)似的扶镀,就比如說(shuō)常見(jiàn)的設(shè)置頁(yè)面,基本上都是圖標(biāo)+文字+圖標(biāo)的格式焰轻,而且出現(xiàn)的頻率都很高臭觉,如果不做處理勢(shì)必會(huì)寫(xiě)很多無(wú)用的代碼降低開(kāi)發(fā)效率,正因?yàn)槿绱宋覀優(yōu)槭裁床话堰@一類(lèi)view統(tǒng)一封裝起來(lái)吶(其實(shí)就是程序猿的懶惰辱志,哈哈)蝠筑,有了這個(gè)想法就開(kāi)始調(diào)研市場(chǎng)上主流應(yīng)用的顯示樣式,經(jīng)過(guò)調(diào)研總結(jié)出一套顯示方案涵蓋了市面上90%以上的布局樣式揩懒,目的是在以后的使用中快速高效的開(kāi)發(fā)什乙。

4.2、代碼封裝

在介紹封裝之前先說(shuō)一句題外話旭从,其實(shí)任何功能的封裝并不難稳强,還是看你愿不愿意花時(shí)間去做场仲,及時(shí)是簡(jiǎn)單的功能真正實(shí)現(xiàn)起來(lái)的時(shí)候還是會(huì)或多或少的遇到一些問(wèn)題,發(fā)現(xiàn)問(wèn)題解決問(wèn)題的過(guò)程其實(shí)就是進(jìn)步的過(guò)程退疫。好了渠缕,廢話不多說(shuō),下邊看代碼褒繁。

首先SuperTextView 是繼承自 RelativeLayout實(shí)現(xiàn)亦鳞,里邊所有布局的添加都是通過(guò)Java代碼實(shí)現(xiàn)的,事先定義好需要的參數(shù)名及類(lèi)型

下邊只列出部分參數(shù)

    private int backgroundColor;//背景顏色
    private int leftTVColor;//左邊文字顏色
    private int leftTopTVColor;//左上文字顏色
    private int leftBottomTVColor;//左下文字顏色
    private int leftBottomTVColor2;//左下第二個(gè)文字顏色
    private int rightTVColor;//右邊文字顏色
    private int centerTVColor;//中間文字顏色

    private boolean isSingLines = true;//是否單行顯示   默認(rèn)單行
    private int maxLines = 1;//最多幾行    默認(rèn)顯示一行
    private int maxEms = 10;//最多幾個(gè)字    默認(rèn)顯示10個(gè)漢子

    private static final int NONE = 0;
    private static final int TOP = 1;
    private static final int BOTTOM = 2;
    private static final int BOTH = 3;
    private static final int DEFAULT = BOTTOM;

然后就是在構(gòu)造方法里邊去實(shí)現(xiàn)各個(gè)方法

 public SuperTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mContext = context;
        getAttr(attrs);
        initLayout();
    }

我們知道系統(tǒng)控件可以從XML中拿到定義好的屬性值棒坏,那么我們其實(shí)也是可以的燕差,首先在attr中定義好相關(guān)屬性名及字段類(lèi)型然后通過(guò)AttributeSet去拿到相關(guān)屬性值在進(jìn)行設(shè)置

private void getAttr(AttributeSet attrs) {
        //獲取我們?cè)赼ttr中定義的SuperTextView相關(guān)屬性
        TypedArray typedArray = mContext.obtainStyledAttributes(attrs, R.styleable.SuperTextView);

        //下邊展示的各個(gè)類(lèi)型參數(shù)的獲取方法,drawable坝冕、string徒探、boolean、int喂窟、px
        leftIconRes = typedArray.getDrawable(R.styleable.SuperTextView_sLeftIconRes);
        leftTextString = typedArray.getString(R.styleable.SuperTextView_sLeftTextString);
        showCheckBox = typedArray.getBoolean(R.styleable.SuperTextView_sRightCheckBoxShow, false);
        lineType = typedArray.getInt(R.styleable.SuperTextView_sLineShow, DEFAULT);
        topLineMargin = typedArray.getDimensionPixelSize(R.styleable.SuperTextView_sTopLineMargin, defaultLinePadding);

        //獲取完之后記得recycle()釋放掉資源
        typedArray.recycle();
      }

接下來(lái)就拿一個(gè)view為例進(jìn)行說(shuō)明如何動(dòng)態(tài)添加view及設(shè)置相關(guān)屬性

/**
     * 初始化左邊文字
     */
    private void initLeftText() {
        leftTV = new TextView(mContext);
        leftTextParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        leftTextParams.addRule(RelativeLayout.CENTER_VERTICAL, TRUE);
        leftTextParams.addRule(RelativeLayout.RIGHT_OF, R.id.sLeftIconId);
        setMargin(leftTextParams, leftTVMarginLeft, 0, dip2px(mContext, 10), 0);
        leftTV.setId(R.id.sLeftTextId);
        leftTV.setLayoutParams(leftTextParams);
        leftTV.setText(leftTextString);
        //設(shè)置Params的方法抽離出來(lái)便于以后統(tǒng)一調(diào)用
        setTextViewParams(leftTV, isSingLines, maxLines, maxEms);
        //設(shè)置字體顏色的方法抽離出來(lái)便于以后統(tǒng)一調(diào)用
        setTextColor(leftTV, leftTVColor);
        //設(shè)置字體大小的方法抽離出來(lái)便于以后統(tǒng)一調(diào)用
        setTextSize(leftTV, leftTVSize);
        //調(diào)用addView方法把我們動(dòng)態(tài)創(chuàng)建的view添加到布局中
        addView(leftTV);
    }

初始化完view之后就是要暴露一些方法供外部人員使用了(部分代碼示例)
在這里我們返回SuperTextView對(duì)象是為了實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用

    /**
     * 獲取checkbox狀態(tài)
     *
     * @return 返回選擇框當(dāng)前選中狀態(tài)
     */
    public boolean getCbisChecked() {
        boolean isChecked = false;
        if (rightCheckBox != null) {
            isChecked = rightCheckBox.isChecked();
        }
        return isChecked;
    }

    /**
     * 設(shè)置左邊文字的顏色
     *
     * @param textColor 文字顏色值
     * @return 返回對(duì)象
     */
    public SuperTextView setLeftTVColor(int textColor) {
        leftTVColor = textColor;
        if (leftTV == null) {
            initLeftText();
        } else {
            leftTV.setTextColor(textColor);
        }
        return this;
    }

最后就是一些回調(diào)方法的使用测暗,以點(diǎn)擊事件為例

/**
     * 點(diǎn)擊事件接口
     * 這里沒(méi)有使用interface是因?yàn)橛行┓椒ㄎ覀儾皇且欢ㄒ獙?shí)現(xiàn)的
     * 用到哪個(gè)方法再去重寫(xiě)方法就可以了
     */
    public static class OnSuperTextViewClickListener {
        public void onSuperTextViewClick() {
        }

        public void onLeftTopClick() {
        }

        public void onLeftBottomClick() {
        }

        public void onLeftBottomClick2() {
        }

    }

相關(guān)的set方法拿到OnSuperTextViewClickListener對(duì)象

   public SuperTextView setOnSuperTextViewClickListener(OnSuperTextViewClickListener listener) {
        onSuperTextViewClickListener = listener;
        return this;
    }

初始化view的時(shí)候在各個(gè)view的點(diǎn)擊事件中添加相應(yīng)的回調(diào)方法就行了

       if (mLeftTopViewIsClickable) {
            leftTopTV.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (onSuperTextViewClickListener != null) {
                        onSuperTextViewClickListener.onLeftTopClick();
                    }
                }
            });
        }

以上只是源碼中的部分方法拿出來(lái)供分析使用,看了之后是不是感覺(jué)實(shí)現(xiàn)其實(shí)很簡(jiǎn)單磨澡,趕緊自己著手實(shí)現(xiàn)一個(gè)吧碗啄!

4.3、總結(jié)

想必看到這里的小伙伴已經(jīng)對(duì)這個(gè)庫(kù)的源碼實(shí)現(xiàn)方式了解了稳摄,這里只是把實(shí)現(xiàn)的流程給大家介紹了一下稚字,我又對(duì)這個(gè)庫(kù)做了一個(gè)簡(jiǎn)化版的處理,有興趣的小伙伴可以去讀讀源碼哦厦酬,發(fā)現(xiàn)哪里寫(xiě)的不妥的地方還請(qǐng)指正胆描。

意見(jiàn)反饋

如果遇到問(wèn)題或者好的建議,請(qǐng)反饋到我的郵箱:lygttpod@163.com 或者lygttpod@gmail.com

如果覺(jué)得對(duì)你有用的話弃锐,點(diǎn)一下右上的星星贊一下吧!

傳送門(mén)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末袄友,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子霹菊,更是在濱河造成了極大的恐慌,老刑警劉巖支竹,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旋廷,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡礼搁,警方通過(guò)查閱死者的電腦和手機(jī)饶碘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)馒吴,“玉大人扎运,你說(shuō)我怎么就攤上這事瑟曲。” “怎么了豪治?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵洞拨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我负拟,道長(zhǎng)烦衣,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任掩浙,我火速辦了婚禮花吟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘厨姚。我一直安慰自己衅澈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布谬墙。 她就那樣靜靜地躺著今布,像睡著了一般。 火紅的嫁衣襯著肌膚如雪芭梯。 梳的紋絲不亂的頭發(fā)上险耀,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音玖喘,去河邊找鬼甩牺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛累奈,可吹牛的內(nèi)容都是我干的贬派。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼澎媒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼搞乏!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起戒努,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤请敦,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后储玫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體侍筛,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年撒穷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匣椰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡端礼,死狀恐怖禽笑,靈堂內(nèi)的尸體忽然破棺而出入录,到底是詐尸還是另有隱情,我是刑警寧澤佳镜,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布僚稿,位于F島的核電站,受9級(jí)特大地震影響邀杏,放射性物質(zhì)發(fā)生泄漏贫奠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一望蜡、第九天 我趴在偏房一處隱蔽的房頂上張望唤崭。 院中可真熱鬧,春花似錦脖律、人聲如沸谢肾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)芦疏。三九已至,卻和暖如春微姊,著一層夾襖步出監(jiān)牢的瞬間酸茴,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工兢交, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留薪捍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓配喳,卻偏偏與公主長(zhǎng)得像酪穿,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晴裹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,098評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)被济、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,098評(píng)論 4 62
  • 如果你突然得到500萬(wàn)你會(huì)干什么涧团? 這是個(gè)有趣的問(wèn)題只磷。有些人會(huì)用來(lái)?yè)]霍,有些人會(huì)作為儲(chǔ)蓄泌绣,有些人全部獨(dú)自占有喳瓣,有些...
    胡淼淼_閱讀 199評(píng)論 0 0
  • 前幾天仿滔,跟一個(gè)同事聊天惠毁,他略帶些猶豫的說(shuō),公司里一個(gè)女孩在追他崎页,可是他自己對(duì)她并沒(méi)有想法鞠绰,又不好意思拒絕,感覺(jué)很苦...
    極品醬油閱讀 900評(píng)論 0 2
  • 13/30 超級(jí)個(gè)體【每日一問(wèn)】 假如你的所有存量-行業(yè)飒焦,企業(yè)和公司全部都清零蜈膨,這一年接下來(lái)你會(huì)去做什么? 挑戰(zhàn)題...
    Katrina程閱讀 146評(píng)論 0 0