My Code
package com.nisarga;
import com.google.appinventor.components.annotations.DesignerComponent;
import com.google.appinventor.components.annotations.SimpleObject;
import com.google.appinventor.components.annotations.SimpleFunction;
import com.google.appinventor.components.annotations.SimpleEvent;
import com.google.appinventor.components.annotations.SimpleProperty;
import com.google.appinventor.components.common.ComponentCategory;
import com.google.appinventor.components.runtime.AndroidNonvisibleComponent;
import com.google.appinventor.components.runtime.AndroidViewComponent;
import com.google.appinventor.components.runtime.ComponentContainer;
import com.google.appinventor.components.runtime.EventDispatcher;
import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import android.view.View;
@DesignerComponent(version = 1,
category = ComponentCategory.EXTENSION,
description = "",
nonVisible = true,
iconName = "")
@SimpleObject(external = true)
public class Gradient extends AndroidNonvisibleComponent {
public Gradient(ComponentContainer container) {
super(container.$form());
}
@SimpleFunction(description = "")
public void SetGradientBackground(AndroidViewComponent component, Object orientation, int color1, int color2) {
// To set gradient colors as background, what we are actually going to
// do is create a new GradientDrawable object and set it as
// the background of the view. With this approach, it'd be possible to
// create gradients programmatically without editing the manifest
// file which is currently not supported in App Inventor 2.
// Getting the reference to the View of the parameter component using
// the getView() method of AndroidNonVisible class.
View view = component.getView();
// GradientDrawable is a subclass of Drawable class from Android
// support library. It is mostly used to create gradients.
// For more info visit: https://developer.android.com/reference/android/graphics/drawable/GradientDrawable
GradientDrawable gradientDrawable = new GradientDrawable(
(GradientDrawable.Orientation) orientation,
new int[] {color1, color2});
// Setting the gradientDrawable as the background of view.
view.setBackground(gradient.Drawable);
}
}
Errors
Buildfile: C:\Users\rubyd\Desktop\Code\extension-template-master\build.xml
javac:
[javac] Compiling 1 source file to C:\Users\rubyd\Desktop\Code\extension-template-master\build\classes
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:3: error: package com.google.appinventor.components.annotations does not exist
[javac] import com.google.appinventor.components.annotations.DesignerComponent;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:4: error: package com.google.appinventor.components.annotations does not exist
[javac] import com.google.appinventor.components.annotations.SimpleObject;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:5: error: package com.google.appinventor.components.annotations does not exist
[javac] import com.google.appinventor.components.annotations.SimpleFunction;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:6: error: package com.google.appinventor.components.annotations does not exist
[javac] import com.google.appinventor.components.annotations.SimpleEvent;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:7: error: package com.google.appinventor.components.annotations does not exist
[javac] import com.google.appinventor.components.annotations.SimpleProperty;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:8: error: package com.google.appinventor.components.common does not exist
[javac] import com.google.appinventor.components.common.ComponentCategory;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:9: error: package com.google.appinventor.components.runtime does not exist
[javac] import com.google.appinventor.components.runtime.AndroidNonvisibleComponent;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:10: error: package com.google.appinventor.components.runtime does not exist
[javac] import com.google.appinventor.components.runtime.AndroidViewComponent;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:11: error: package com.google.appinventor.components.runtime does not exist
[javac] import com.google.appinventor.components.runtime.ComponentContainer;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:12: error: package com.google.appinventor.components.runtime does not exist
[javac] import com.google.appinventor.components.runtime.EventDispatcher;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:14: error: package android.graphics does not exist
[javac] import android.graphics.Color;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:15: error: package android.graphics.drawable does not exist
[javac] import android.graphics.drawable.GradientDrawable;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:16: error: package android.view does not exist
[javac] import android.view.View;
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:26: error: cannot find symbol
[javac] public class Gradient extends AndroidNonvisibleComponent {
[javac] ^
[javac] symbol: class AndroidNonvisibleComponent
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:18: error: cannot find symbol
[javac] @DesignerComponent(version = 1,
[javac] ^
[javac] symbol: class DesignerComponent
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:24: error: cannot find symbol
[javac] @SimpleObject(external = true)
[javac] ^
[javac] symbol: class SimpleObject
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:28: error: cannot find symbol
[javac] public Gradient(ComponentContainer container) {
[javac] ^
[javac] symbol: class ComponentContainer
[javac] location: class Gradient
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:33: error: cannot find symbol
[javac] public void SetGradientBackground(AndroidViewComponent component, Object orientation, int color1, int color2) {
[javac] ^
[javac] symbol: class AndroidViewComponent
[javac] location: class Gradient
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:32: error: cannot find symbol
[javac] @SimpleFunction(description = "")
[javac] ^
[javac] symbol: class SimpleFunction
[javac] location: class Gradient
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:43: error: cannot find symbol
[javac] View view = component.getView();
[javac] ^
[javac] symbol: class View
[javac] location: class Gradient
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:48: error: cannot find symbol
[javac] GradientDrawable gradientDrawable = new GradientDrawable(
[javac] ^
[javac] symbol: class GradientDrawable
[javac] location: class Gradient
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:48: error: cannot find symbol
[javac] GradientDrawable gradientDrawable = new GradientDrawable(
[javac] ^
[javac] symbol: class GradientDrawable
[javac] location: class Gradient
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:49: error: package GradientDrawable does not exist
[javac] (GradientDrawable.Orientation) orientation,
[javac] ^
[javac] C:\Users\rubyd\Desktop\Code\extension-template-master\src\com\nisarga\gradient\Gradient.java:53: error: cannot find symbol
[javac] view.setBackground(gradient.Drawable);
[javac] ^
[javac] symbol: variable gradient
[javac] location: class Gradient
[javac] 24 errors
[javac] 1 warning
BUILD FAILED
C:\Users\rubyd\Desktop\Code\extension-template-master\build.xml:29: Compile failed; see the compiler error output for details.
Total time: 1 second
How to fix?
I followed all the procedures correctly.