【Android】點(diǎn)9圖圃验,點(diǎn)九圖

第六節(jié)視頻的內(nèi)容,真正做起來(lái)才發(fā)現(xiàn)自己一點(diǎn)都不了解這個(gè)點(diǎn)9圖缝呕。

概述

官網(wǎng)截的:

A NinePatchDrawable
graphic is a stretchable bitmap image, which Android will automatically resize to accommodate the contents of the View in which you have placed it as the background. An example use of a NinePatch is the backgrounds used by standard Android buttons — buttons must stretch to accommodate strings of various lengths. A NinePatch drawable is a standard PNG image that includes an extra 1-pixel-wide border. It must be saved with the extension .9.png
, and saved into the res/drawable/
directory of your project.

點(diǎn)9圖示一種可伸縮的位圖澳窑,如果你某個(gè)View用了點(diǎn)9圖做background,
Android會(huì)根據(jù)點(diǎn)9圖的設(shè)置來(lái)自動(dòng)為你調(diào)整供常、適應(yīng)內(nèi)容摊聋。
點(diǎn)9圖是標(biāo)準(zhǔn)的PNG格式圖像,被一圈1像素寬的邊緣包圍栈暇,
并且保存的時(shí)候擴(kuò)展名一定要是“.9.png”麻裁,還要保存在“res/drawable/”目錄。

其它要注意的地方

1.四邊那幾條黑線代表什么

2.最外圍的一圈像素必須要么是純黑色源祈,要么是透明煎源,一點(diǎn)點(diǎn)的半透明的像素都不可以有,比如說(shuō)99%的黑色或者是1%的投影都不可以有

3.文件的后綴名必須是.9.png香缺,不能是.png或者是.9.png.png手销,這樣的命名都會(huì)導(dǎo)致編譯失敗。

關(guān)于操作

真正操作起來(lái)赫悄,才發(fā)現(xiàn)自己真的很不熟練原献。
看視頻的時(shí)候,說(shuō)“Create 9-Patch file”埂淮,
然后我連Create 9-Patch file在哪里點(diǎn)擊都沒(méi)找到……

之前是用那種畫(huà)點(diǎn)9圖的工具姑隅,現(xiàn)在AndroidStudio直接就有提供了。
把png格式(一定要是png倔撞,jpg之類(lèi)的都不行)讲仰,復(fù)制到“res/drawable/”目錄,
點(diǎn)擊右鍵痪蝇,就會(huì)在菜單看到Create 9-Patch file了鄙陡。

留意下面還有 □Show content 和 □Show patches 兩個(gè)選項(xiàng)冕房。


畫(huà)的時(shí)候,就是在那1像素的包圍圈“拖動(dòng)”劃線和“按住Shift鍵”刪除趁矾。


我的上機(jī)試驗(yàn)

我做了一個(gè)EditText和Button耙册,
那個(gè)Button的background就是下面這幅圖,
把它像上面那樣做成點(diǎn)9圖毫捣。



當(dāng)在EditText輸入字符串详拙,然后點(diǎn)擊Button,
Button就會(huì)顯示輸入的內(nèi)容蔓同,然后我就輸入很多字符饶辙。
分別設(shè)置點(diǎn)9圖上下左右的黑線,看Button會(huì)被撐開(kāi)成什么樣子斑粱。

代碼如下:

public class AnotherActivity extends ActionBarActivity {

    private Button btn_testNinePatch;
    private EditText et_testNinePatch;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_another);
        btn_testNinePatch = (Button) findViewById(R.id.btn_testNinePatch);
        et_testNinePatch = (EditText) findViewById(R.id.et_testNinePatch);
        btn_testNinePatch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                btn_testNinePatch.setText(et_testNinePatch.getText().toString());
            }
        });
    }

}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <EditText
        android:id="@+id/et_testNinePatch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn_testNinePatch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button1"
        android:text="sdfdsfdsfdsfdsfdsfdsfdsfsdf" />

</LinearLayout>

記住那些要注意的地方弃揽,自己上機(jī)試一下,大概也就懂了则北。

參考資料

  1. Canvas and Drawables
  2. Draw 9-patch
  3. 【推薦】A simple guide to 9-patch for Android UI
  4. Android設(shè)計(jì)中的.9.png
  5. Android 點(diǎn)9圖片制作及講解
  6. 點(diǎn)九圖簡(jiǎn)單介紹及制作教程
  7. 關(guān)于”點(diǎn)九”
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末矿微,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子尚揣,更是在濱河造成了極大的恐慌冷冗,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惑艇,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡拇泛,警方通過(guò)查閱死者的電腦和手機(jī)滨巴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)俺叭,“玉大人恭取,你說(shuō)我怎么就攤上這事∠ㄊ兀” “怎么了蜈垮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)裕照。 經(jīng)常有香客問(wèn)我攒发,道長(zhǎng),這世上最難降的妖魔是什么晋南? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任惠猿,我火速辦了婚禮,結(jié)果婚禮上负间,老公的妹妹穿的比我還像新娘偶妖。我一直安慰自己姜凄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布趾访。 她就那樣靜靜地躺著态秧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扼鞋。 梳的紋絲不亂的頭發(fā)上申鱼,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音藏鹊,去河邊找鬼润讥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛盘寡,可吹牛的內(nèi)容都是我干的楚殿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼竿痰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼脆粥!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起影涉,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤变隔,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蟹倾,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體匣缘,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年鲜棠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了肌厨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡豁陆,死狀恐怖柑爸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盒音,我是刑警寧澤表鳍,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站祥诽,受9級(jí)特大地震影響譬圣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜原押,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一胁镐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦盯漂、人聲如沸颇玷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帖渠。三九已至,卻和暖如春竭宰,著一層夾襖步出監(jiān)牢的瞬間空郊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工切揭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狞甚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓廓旬,卻偏偏與公主長(zhǎng)得像哼审,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子孕豹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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