Android换肤Demo
16lz
2021-01-25
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();}}}
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- 关于Android(安卓)7.0下Launcher3下default_workspace.xml修改无
- ScrollView中的控件占据ScrollView的match_parent
- 使用h5+下载并打开文件,支持Android,IOS
- android2.2 android2.3.4 竖屏简单更改
- Android(安卓)aidl 编译报couldn't find import for class