編輯:關於Android編程
今天主要添加了一個換膚的功能,可以切換6種不同的背景,即點擊“換膚”按鈕可以實現切換背景圖片。
這個我在網上搜了好長時間,最終最靠譜和好理解的應該是下面這個鏈接裡的方法:點擊打開鏈接
為了添加這個功能耗費了我好長時間,以至於我開始懷疑我這樣做開發是不是有問題?因為我沒有去系統學習過Android開發,很多細節的東西不清楚,這樣下去會不會越來越難啊。。求哪位哥們指點下我這個新人。
好了,還是把這個功能實現的詳細過程說下吧!上代碼!
核心代碼如下:
Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.newImage); LinearLayout linearLayout = (LinearLayout)findViewById(R.id.bg); linearLayout.setBackgroundDrawable(drawable);
我們看到原背景為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;
}
}
}
謝謝閱讀!歡迎給出寶貴意見!
添加LeakCanary依賴包在主模塊app下的build.gradle下添加如下依賴:debugCompile 'com.squar
提起BroadcastReceiver大家都很熟悉,它和Activity,Service以及ContentProvider並稱為Android的四大組件(四大金剛),可見
1、概述 群裡的一個哥們有個需求是這樣的:問題;主要功能就是:1、循環的一個滑動;2、每次滑動結束,保持每個Item的完整。然後我當時給他寫了個Demo,所
RatingBar介紹 RatingBar作為評分組件,它在實現打分功能的時候確實很方便,並結合了手勢觸摸事件;RatingBar 的實質是 ProgressBar ,可