Coder Social home page Coder Social logo

android-skin-loader's People

Contributors

fengjundev avatar liaohuqiu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-skin-loader's Issues

gradview 如何换图片主题

我试了一下不行
SettingItem settingItem1 = new SettingItem(getString(R.string.setting_wifi), R.mipmap.ic_setting_wifi);
SettingItem settingItem2 = new SettingItem(getString(R.string.setting_general), R.mipmap.ic_setting_about);
SettingItem settingItem3 = new SettingItem(getString(R.string.setting_date_time), R.mipmap.ic_setting_date);
SettingItem settingItem4 = new SettingItem(getString(R.string.setting_effect), R.mipmap.ic_setting_effect);
SettingItem settingItem5 = new SettingItem(getString(R.string.setting_display), R.mipmap.ic_setting_display);
SettingItem settingItem6 = new SettingItem(getString(R.string.setting_shutdown), R.mipmap.ic_setting_power_off);
SettingItem settingItem7 = new SettingItem(getString(R.string.setting_sleep), R.mipmap.ic_setting_sleep);

SkinManager attach 方法中逻辑判断失误

SkinManager 中L205行 if(!skinObservers.contains(skinObservers))判断代码如下

    @Override
    public void attach(ISkinUpdate observer) {
        if(skinObservers == null){
            skinObservers = new ArrayList<ISkinUpdate>();
        }
        if(!skinObservers.contains(skinObservers)){
            skinObservers.add(observer);
        }
    }

应该修改为 observer

在ListView和GridView里面更换主题

在ListView和GridView里面更换主题,如果是Item的同一个ImageView在不同的位置设置了不同的图片(使用的是java代码,不是xml,xml是上下滚动正常的,但是项目中会遇到不同的position显示不同的图片),那么切换之后只由当前页显示是正常的图片,上下滚动之后会用原来内置的图片,请问这个问题如何解决?望回复。。。

SkinInflaterFactory引起内存泄露

SkinInflaterFactory引起了fragment的泄露。SkinInflaterFactory是activity唯一,如果activity里面有很多fragment,例如使用了viewpager。会导致viewpager里面的fragment泄露。

求教!

这个换肤不能作用在状态选择器中吗??真心求解

6.0系统,无法更新插件皮肤

在6.0 系统上,无法更新皮肤功能,定位到代码是因为 对 sdcard读取权限的问题


            @Override
            protected Resources doInBackground(String... params) {
                try {
                    if (params.length == 1) {
                        String skinPkgPath = params[0];

                        File file = new File(skinPkgPath); 
                        if(file == null || !file.exists()){
                            return null;
                        }

                        PackageManager mPm = context.getPackageManager();
                        PackageInfo mInfo = mPm.getPackageArchiveInfo(skinPkgPath, PackageManager.GET_ACTIVITIES);
                        skinPackageName = mInfo.packageName;

                        AssetManager assetManager = AssetManager.class.newInstance();
                        Method addAssetPath = assetManager.getClass().getMethod("addAssetPath", String.class);
                        addAssetPath.invoke(assetManager, skinPkgPath);

                        Resources superRes = context.getResources();
                        Resources skinResource = new Resources(assetManager,superRes.getDisplayMetrics(),superRes.getConfiguration());

                        SkinConfig.saveSkinPath(context, skinPkgPath);

                        skinPath = skinPkgPath;
                        isDefaultSkin = false;
                        return skinResource;
                    }
                    return null;
                } catch (Exception e) {
                    e.printStackTrace();
                    return null;
                }
            };

代码L160,获取的mInfo == null。

Layout中的一些View 不支持skin:enable="true"的设置?如果确实如此的话这个坑有点大呀

在布局中给FrameLayout android.support.design.widget.CollapsingToolbarLayout 等组件添加skin:enable="true"时是无效的,无法起到动态换肤的作用。因为SkinInflaterFactory中的

  private View createView(Context context, String name, AttributeSet attrs) {
	View view = null;
	try {
		if (-1 == name.indexOf('.')){
			if ("View".equals(name)) {
				view = LayoutInflater.from(context).createView(name, "android.view.", attrs);
			} 
			if (view == null) {
				view = LayoutInflater.from(context).createView(name, "android.widget.", attrs);
			} 
			if (view == null) {
				view = LayoutInflater.from(context).createView(name, "android.webkit.", attrs);
			} 
		}else {
            view = LayoutInflater.from(context).createView(name, null, attrs);
        }
            L.i("about to create " + name);
        } catch (Exception e) { 
		L.e("error while create 【" + name + "】 : " + e.getMessage());
		view = null;
	}
	return view;
}

这两种view FrameLayout 和android.support.design.widget.CollapsingToolbarLayout 在执行这个方法时会跑出异常最后返回空return null,后面也就不会再读取属性信息了,整个换肤的设置也就无效了。
目前测试的是这两个view,但不排除还有其他View也不支持,这样的话,这个坑就很大了

请教两个问题

1.skin如何生成
2.导入项目后查不到skin字段 Unexpected namespace prefix "skin" found for tag Button

Getting more done in GitHub with ZenHub

Hola! @yeungeek has created a ZenHub account for the fengjundev organization. ZenHub is the only project management tool integrated natively in GitHub – created specifically for fast-moving, software-driven teams.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Multi-Repository burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • Time-saving shortcuts – like a quick repo switcher, a “Move issue” button, and much more.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @yeungeek.

ZenHub Board

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.