新增 fab控件及其例子

This commit is contained in:
hyb1996
2018-10-18 13:39:25 +08:00
parent 270b2f7844
commit c8a96b3c81
5 changed files with 151 additions and 46 deletions

View File

@@ -0,0 +1,32 @@
package com.stardust.autojs.core.ui.attribute;
import android.graphics.Color;
import android.support.design.widget.FloatingActionButton;
import android.view.View;
import android.widget.ImageView;
import com.stardust.autojs.core.ui.inflater.ResourceParser;
public class FabViewAttributes extends ImageViewAttributes {
public FabViewAttributes(ResourceParser resourceParser, View view) {
super(resourceParser, view);
}
@Override
protected void onRegisterAttrs() {
super.onRegisterAttrs();
registerPixelAttr("elevation", getView()::setCompatElevation);
registerIntPixelAttr("fabCustomSize", getView()::setCustomSize);
registerIntPixelAttr("fabSize", getView()::setSize);
registerAttr("rippleColor", Color::parseColor, getView()::setRippleColor);
registerBooleanAttr("useCompatPadding", getView()::setUseCompatPadding);
}
@Override
public FloatingActionButton getView() {
return (FloatingActionButton) super.getView();
}
}

View File

@@ -1,6 +1,7 @@
package com.stardust.autojs.core.ui.attribute;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.widget.CardView;
import android.view.View;
import android.widget.ImageView;
@@ -24,6 +25,7 @@ public class ViewAttributesFactory {
sViewAttributesCreators.put(AppBarLayout.class, AppbarAttributes::new);
sViewAttributesCreators.put(TextView.class, TextViewAttributes::new);
sViewAttributesCreators.put(CardView.class, CardAttributes::new);
sViewAttributesCreators.put(FloatingActionButton.class, FabViewAttributes::new);
}
public static void put(Class<? extends View> clazz, ViewAttributesCreator creator) {

View File

@@ -1,6 +1,7 @@
package com.stardust.autojs.core.ui.xml;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.TabLayout;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.widget.CardView;
@@ -84,6 +85,7 @@ public class XmlConverter {
.map("tabs", JsTabLayout.class.getName())
.map("viewpager", JsViewPager.class.getName())
.map("card", CardView.class.getName())
.map("fab", FloatingActionButton.class.getName())
);
private static final AttributeHandler ATTRIBUTE_HANDLER = new AttributeHandler.AttrNameRouter()