Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發牛刀小試之“AA算錢軟件”開發(三)

Android開發牛刀小試之“AA算錢軟件”開發(三)

編輯:關於Android編程

今天主要添加了一個換膚的功能,可以切換6種不同的背景,即點擊“換膚”按鈕可以實現切換背景圖片。

這個我在網上搜了好長時間,最終最靠譜和好理解的應該是下面這個鏈接裡的方法:點擊打開鏈接

為了添加這個功能耗費了我好長時間,以至於我開始懷疑我這樣做開發是不是有問題?因為我沒有去系統學習過Android開發,很多細節的東西不清楚,這樣下去會不會越來越難啊。。求哪位哥們指點下我這個新人。

好了,還是把這個功能實現的詳細過程說下吧!上代碼!

核心代碼如下:

Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.newImage); 
LinearLayout linearLayout = (LinearLayout)findViewById(R.id.bg);
linearLayout.setBackgroundDrawable(drawable);

對應main.xml中的代碼是:



	
	    
我們看到原背景為bg.png圖片,更改之後是newImage.png圖片。之前在網上都是采用View實現切換背景的,但是總是只有一小塊圖片被切換了,所以我想應該是用linearLayout是最合適的吧~

之後我在此基礎上實現了循環切換背景的功能,也就是每次點擊“換膚”button都會切換一張新圖,總共是6張圖,放在drawable-hdpi文件夾下:

\
核心代碼如下:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHByZSBjbGFzcz0="brush:java;"> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.popbut = (Button) super.findViewById(R.id.popbut); this.statusinfo = (TextView) super.findViewById(R.id.statusinfo); this.popbut.setOnClickListener(new OnClickListenerImpl()) ; Button skinButton = (Button) findViewById(R.id.skinbut); skinButton = (Button) super.findViewById(R.id.skinbut); skinButton.setOnClickListener(new SkinOnClickListenerImpl()); button1=(Button)findViewById(R.id.but); button1.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub new AlertDialog.Builder(AAcharge.this) .setTitle("關於") .setMessage("This is MSJ's first Android APP, I hope you like it, have fun !") .setPositiveButton("確定", null) .show(); } }); } private class SkinOnClickListenerImpl implements OnClickListener{ @SuppressWarnings("deprecation") @Override public void onClick(View arg0) { // TODO Auto-generated method stub Resources res = getResources(); int skinid = 0; if (skinID<=6){ skinid = getResources().getIdentifier("bg"+skinID, "drawable", getPackageName()); Drawable drawable = res.getDrawable(skinid); LinearLayout linearLayout = (LinearLayout)AAcharge.this.findViewById(R.id.bg); linearLayout.setBackgroundDrawable(drawable); skinID = skinID +1; } else { skinID = 0; skinid = getResources().getIdentifier("bg"+skinID, "drawable", getPackageName()); Drawable drawable = res.getDrawable(skinid); LinearLayout linearLayout = (LinearLayout)AAcharge.this.findViewById(R.id.bg); linearLayout.setBackgroundDrawable(drawable); skinID = skinID +1; } } }
謝謝閱讀!歡迎給出寶貴意見!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved