区块链技术主页 > 区块链技术 >
Android开发牛刀小试之“AA算钱软件”开发(三)
新闻来源:凯发K 添加时间:2019-02-06

Android开发牛刀小试之“AA算钱软件”开发(三)

今天主要添加了一个换肤的功能,可以切换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文件夹下:

\
核心代码如下:

	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;
			}
		}
		
	}

谢谢阅读!欢迎给出宝贵意见!

http://www.bkjia.com/Androidjc/888375.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/888375.htmlTechArticleAndroid开发牛刀小试之“AA算钱软件”开发(三) 今天主要添加了一个换肤的功能,可以切换6种不同的背景,即点击“换肤”按钮可以实现...

本文源自: 凯发K8

区块链技术
联系方式