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 圖片:
相關文章




沒有留言:
張貼留言