Android换肤Demo

来源:互联网 发布:网络聊天电台 编辑:程序博客网 时间:2024/05/17 17:41

Android换肤可以通过切换Layout布局文件来切换皮肤。

Demo下载地址http://download.csdn.net/detail/ericfantastic/9093927

换肤Demo截图:

     

     


Demo实现很简单,准备一个布局文件,其他skin1-3布局文件都一样,仅仅是图片不一样。

皮肤1布局文件skin1.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.Eric.changeskindemo.MainActivity"     android:background="@drawable/skin1"    >    <LinearLayout     android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_marginTop="20dp"    android:gravity="center_horizontal">    <Button         android:id="@+id/btn_skin1"        android:layout_width="80dp"        android:layout_height="40dp"        android:text="皮肤1"        android:background="@drawable/btn_skin1"/>    <Button         android:id="@+id/btn_skin2"        android:layout_width="80dp"        android:layout_height="40dp"        android:text="皮肤2"        android:background="@drawable/btn_skin2"/>    <Button         android:id="@+id/btn_skin3"        android:layout_width="80dp"        android:layout_height="40dp"        android:text="皮肤3"        android:background="@drawable/btn_skin3"/></LinearLayout>    <LinearLayout    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_marginTop="100dp"    android:gravity="center_horizontal">    <ImageView         android:layout_width="100dp"        android:layout_height="100dp"        android:background="@drawable/touxiang1"/></LinearLayout></RelativeLayout>

主界面MainActivity.java

package com.Eric.changeskindemo;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity {private Button btn1,btn2,btn3;private ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}public void init(){btn1 = (Button) findViewById(R.id.btn_skin1);btn2 = (Button) findViewById(R.id.btn_skin2);btn3 = (Button) findViewById(R.id.btn_skin3);btn1.setOnClickListener(new MyBtnListener(R.layout.skin1));btn2.setOnClickListener(new MyBtnListener(R.layout.skin2));btn3.setOnClickListener(new MyBtnListener(R.layout.skin3));}public class MyBtnListener implements OnClickListener{private final int layout_id;public MyBtnListener(int layout) {layout_id = layout;}@Overridepublic void onClick(View v) {setContentView(layout_id);init();}}}




1 0