9-Patch 圖片的命名規則為「檔名.9.png」,其中只有「.9」是強制的,與一般圖片一樣是放到 /res/drawable 下。
要小心,不可以同時有 bg.9.png 與 bg.png,這樣是違反 Android Resource 命名規則的,因為「.9」並不計入識別字元,僅供 Android 參考使用。
重點結束,程式沒有不一樣的地方。
NinePatchActivity
public class NinePatchActivity extends Activity implements OnClickListener { private static final String TAG = "NinePatchActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.findViewById(R.id.ninePatchBtn).setOnClickListener(this); this.findViewById(R.id.normalBtn).setOnClickListener(this); } @Override public void onClick(View v) { Log.d(TAG, "click " + v.getId() + "..."); LinearLayout main = (LinearLayout) this.findViewById(R.id.main); TextView tv = (TextView) this.findViewById(R.id.tv); switch (v.getId()) { case R.id.ninePatchBtn: main.setBackgroundResource(R.drawable.bg); tv.setText("9-Patch"); break; case R.id.normalBtn: main.setBackgroundResource(R.drawable.bg_n); tv.setText("Normal"); break; } } }main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" > <Button android:id="@+id/normalBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Normal" /> <Button android:id="@+id/ninePatchBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="9-Patch" /> </LinearLayout> <LinearLayout android:id="@+id/main" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#000000" /> </LinearLayout> </LinearLayout>使用一般的圖片:
使用 9-Patch 圖片:
相關文章
沒有留言:
張貼留言