[03/05/2019][v1.0.0] First launch.
Add the dependencies in app/build.gradle
implementation 'com.madgaze.smartglass:development-kit:vader-1.0.0'
You can now use the layout control supports with MAD Gaze Touch Panel.
Date | Vader-SDK (Gradle) | Demo Project (.zip) |
---|---|---|
03/05/2019 | com.madgaze.smartglass:development-kit:vader-1.0.0 | Download |
Passing a context to the Mode3D.
Mode3D.getInstance(this)
To turn on the 3D mode programmatically.
//Turn on the 3D Mode
Mode3D.getInstance(this).turnOn();
To turn off the 3D mode programmatically.
//Turn off the 3D Mode
Mode3D.getInstance(this).turnOff();
To check if 3D mode is now ON or OFF.
Mode3D.getInstance(Demo3DModeActivity.this).is3DModeOn()
You can also set the callback when the status of 3D Mode has been switched.
Mode3D.getInstance(this).set3DModeStatusChangeCallback(new Mode3DStatusChangeCallback() {
@Override
public void on3DModeTurnOn() {
//3D Mode is now ON.
}
@Override
public void on3DModeTurnOff() {
//3D Mode is now OFF.
}
});
com.madgaze.smartglass.dialog.AlertDialog
A dialog that can show the title and message, with up to 3 buttons with MAD Gaze theme.
Public Methods | AlertDialog.Builder |
---|---|
create()
|
Public Methods | AlertDialog |
---|---|
void |
setTitle(String text)
|
void |
setTitle(int resId)
|
void |
setDescription(String text)
|
void |
setDescription(int resId)
|
void |
setPositiveButton(String text, OnClickListener clickListener)
|
void |
setPositiveButton(int resId, OnClickListener clickListener)
|
void |
setNegativeButton(String text, OnClickListener clickListener)
|
void |
setNegativeButton(int resId, OnClickListener clickListener)
|
void |
setNeutralButton(String text, OnClickListener clickListener)
|
void |
setNeutralButton(int resId, OnClickListener clickListener)
|
void |
setOnCancelListener(OnCancelListener cancelListener)
|
void |
setOnDismissListener(OnDismissListener dismissListener)
|
void |
show()
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Greetings")
.setDescription("Hello MAD Gaze! Do you like our latest product?")
.setPositiveButton("Ofcourse", new AlertDialog.OnClickListener(){
@Override
public void onClick(AlertDialog dialog){
// Implements your code here to handle positive button clicked.
}
})
.setNegativeButton("Sure", new AlertDialog.OnClickListener(){
@Override
public void onClick(AlertDialog dialog){
// Implements your code here to handle negative button clicked.
dialog.dismiss();
}
}).create().show();
com.madgaze.smartglass.view.DateTimePicker
A picker can support date and time selection with MAD Gaze touch panel.
Public Methods | DateTimePicker |
---|---|
void |
setDate(int year, int month, int day)
|
void |
setDateRange(Calendar cal1, Calendar cal2)
|
void |
setTime(int hour, int minute)
|
void |
setDateTimePickerChangedListener(DateTimePickerChangedListener datetimeChangedListener)
|
void |
setDateTimePickerSelectedListener(DateTimePickerSelectedListener datetimeSelectedListener)
|
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:madgaze="http://schemas.android.com/apk/res-auto"
android:background="@color/black">
<com.madgaze.smartglass.view.DateTimePicker
android:id="@+id/picker"
android:layout_width="match_parent"
android:layout_height="match_parent"
madgaze:pickerType="date"
madgaze:minDate="31/1/2010"/>
<!-- Remarks: Picker Type could be "date", "time24" or "time" -->
<com.madgaze.smartglass.view.GestureView
android:id="@+id/gestureView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
GestureView gestureView = (GestureView) findViewById(R.id.gestureView);
DateTimePicker pickerView = (DateTimePicker) findViewById(R.id.picker);
gestureView.getGestureListener().setOnSwipeListener(pickerView);
gestureView.getGestureListener().setOnTapListener(pickerView);
gestureView.getGestureListener().setOnScrollListener(pickerView);
pickerView.setDateTimePickerSelectedListener(new DateTimePicker.DateTimePickerSelectedListener() {
@Override
public void onDateSelected(Calendar calendar) {
String date = sdf.format(calendar.getTime()); Log.i("DateSelected", date);
}
});
pickerView.setDateTimePickerChangedListener(new DateTimePicker.DateTimePickerChangedListener() {
@Override
public void onDateChanged(Calendar calendar) {
String date = sdf.format(calendar.getTime());
Log.i("DateChanged", date);
}
});
com.madgaze.smartglass.view.DropdownView
A list view can support multiple selections and control with MAD Gaze touch panel.
Public Methods | DropdownView |
---|---|
void |
setSubmitText(String text)
|
void |
setSubmitText(int resId)
|
void |
setDropdownItemSelectedListener(DropDownItemSelectedListener dropdownItemSelectedListener)
|
void |
setDropdownSubmitListener(DropDownSubmitListener dropdownSubmitListener)
|
void |
setData(ArrayList<MenuItem> menuItems)
|
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black">
<com.madgaze.smartglass.view.DropdownView
android:id="@+id/dropdownView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.madgaze.smartglass.view.GestureView
android:id="@+id/gestureView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
GestureView gestureView = (GestureView) findViewById(R.id.gestureView);
DropdownView dropdownView = (DropdownView) findViewById(R.id.dropdownView);
dropdownView.setData(new ArrayList<>(
Arrays.asList(
new MenuItem("Selection 1"),
new MenuItem("Selection 2"),
new MenuItem("Selection 3")
)
));
dropdownView.setDropdownItemSelectedListener(new DropdownView.DropDownItemSelectedListener(){
@Override
public void onItemSelected(int position, MenuItem model){
Log.i("DropdownView", "Selected: " + model.getTitle());
}
});
dropdownView.setDropdownSubmitListener(new DropdownView.DropDownSubmitListener() {
@Override
public void submit(List<MenuItem> models) {
String selectedItems = "";
for (int i = 0; i < models.size(); i++)
selectedItems += models.get(i).getTitle() + ", ";
Log.i("DropdownView", "Submitted: " + selectedItems);
}
});
gestureView.getGestureListener().setOnSwipeListener(dropdownView); gestureView.getGestureListener().setOnTapListener(dropdownView); gestureView.getGestureListener().setOnScrollListener(dropdownView);
com.madgaze.smartglass.model.MenuItem
Public Methods | MenuItem |
---|---|
void |
setTitle(string text)
|
void |
setDescription(String text)
|
void |
setDisableItem(boolean isDisable)
|
void |
setIconRes(int resId)
|
void |
setMultipleItem(boolean isMultiple)
|
void |
setRadioButtonItem(boolean isRadioButtonItem)
|
void |
setStatus(String status)
|
void |
setSelected(boolean isSelected)
|
boolean |
isDisableItem()
|
boolean |
isMultipleItem()
|
boolean |
isRadioButtonItem()
|
boolean |
isSelected()
|
String |
getDescription()
|
int |
getIconRes()
|
String |
getStatus()
|
String |
getTitle()
|
com.madgaze.smartglass.view.GestureView
A fundamental layout element for most of MAD Gaze views. It is required to capture all touches and transform to corresponding input signal to subviews. Usually placed at the top of views in the layout file.
Public Methods | GestureView |
---|---|
getGestureListener()
|
|
getScaleGestureListener()
|
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.madgaze.smartglass.view.GestureView
android:id="@+id/gestureview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
GestureView gestureView = (GestureView) findViewById(R.id.gestureview);
gestureView.getGestureListener().setOnTapListener(new MADGestureTouchDetector.OnTapListener() {
@Override
public void onTapEvent(int finger, MotionEvent motionEvent) {
//Implements the listener with Single Tap Event detected with any number of fingers.
}
@Override
public void onDoubleTap(int finger, MotionEvent motionEvent) {
//Implements the listener with Double Tap Event detected with any number of fingers.
}
@Override
public void onTripleTap(int finger, MotionEvent motionEvent) {
//Implements the listener with Triple Tap Event detected with any number of fingers.
}
});
com.madgaze.smartglass.listener.MADScaleGestureListener
A gesture transformer used on GestureView to capture pinch gestures.
Public Methods | MADScaleGestureListener |
---|---|
void |
setOnScaleListener(OnScaleListener scaleListener)
|
com.madgaze.smartglass.listener.MADTouchGestureListener
A gesture transformer used on GestureView to capture touch gestures.
Public Methods | MADTouchGestureListener |
---|---|
void |
setOnTapListener(OnTapListener tapListener)
|
void |
setOnSwipeListener(OnSwipeListener swipeListener)
|
void |
setOnLongPressListener(OnLongPressListener longPressListener)
|
void |
setOnTouchListener(OnTouchListener touchListener)
|
void |
setSystemCallback(MADGestureSystemCallback systemCallback)
|
A list view can support single selection and control with MAD Gaze touch panel.
Public Methods | MenuView |
---|---|
void |
|
void |
|
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black">
<com.madgaze.smartglass.view.MenuView
android:id="@+id/menuView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.madgaze.smartglass.view.GestureView
android:id="@+id/gestureView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
GestureView gestureView = (GestureView) findViewById(R.id.gestureView);
MenuView menuView = (MenuView) findViewById(R.id.menuView);
menuView.setData(new ArrayList<>(
Arrays.asList(
new MenuItem("Selection 1"),
new MenuItem("Selection 2"),
new MenuItem("Selection 3")
)
));
menuView.setMenuItemSelectedListener(new MenuView.MenuItemSelectedListener() {
@Override
public void onMenuItemSelected(int position, MenuItem model) {
//implements your code here to handle if menu item is selected.
Log.i("MenuView", "Selected " +model.getTitle());
}
});
//configure custom event handlers to gestureview
gestureView.getGestureListener().setOnScrollListener(menuView);
gestureView.getGestureListener().setOnTapListener(menuView);
com.madgaze.smartglass.view.PagerView
A view container allows user to flip left and right across different customizable pages.
Public Methods | PagerView |
---|---|
PagerAdapter |
getAdapter()
|
void |
setAdapter(PagerAdapter adapter)
|
void |
notifyDataSetChanged()
|
void |
setCurrentPage(int page)
|
void |
getCurrentPage()
|
void |
moveToNext()
|
void |
moveToPrevious()
|
void |
setOnPageChangeListener(ViewPager.OnPageChangeListener pageChangeListener)
|
void |
setReverseScrollDirection(boolean direction)
|
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.madgaze.smartglass.view.PagerView
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.madgaze.smartglass.view.GestureView
android:id="@+id/gestureView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
view_subpage.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
</RelativeLayout>
GestureView gestureView = (GestureView) findViewById(R.id.gestureView);
PagerView viewPager = (PagerView) findViewById(R.id.viewPager);
gestureView.getGestureListener().setOnTouchListener(viewPager.getDefaultOnTouchListener());
ArrayList<> listData = new ArrayList<>(Arrays.asList("Page 1", "Page 2"));
TestPagerAdapter adapter = new TestPagerAdapter(this, listData);
viewPager.setAdapter(adapter);
class TestPagerAdapter extends PagerAdapter {
LayoutInflater layoutInflater;
List<String> data;
public TestPagerAdapter(Context context, ArrayList<String> _data) {
layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.data = _data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View itemView = layoutInflater.inflate(R.layout.view_subpage, container, false);
TextView textView = (TextView) itemView.findViewById(R.id.textView);
textView.setText(data.get(position));
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((LinearLayout) object);
}
}
com.madgaze.smartglass.view.Seekbar
An interface element allows the selection of values with adjustment on MAD Gaze touch panel.
Public Methods | Seekbar |
---|---|
void |
setProgress(int percentage)
|
int |
getProgress()
|
void |
setIncreaseImageResource(int resId)
|
void |
setDecreaseImageResource(int resId)
|
<RelativeLayout
xmlns:madgaze="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black">
<com.madgaze.smartglass.view.Seekbar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
madgaze:header="Seekbar"/>
<com.madgaze.smartglass.view.GestureView
android:id="@+id/gestureView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
final Seekbar seekBar = (Seekbar) findViewById(R.id.seekBar);
GestureView gestureView = (GestureView) findViewById(R.id.gestureView);
gestureView.getGestureListener().setOnScrollListener(seekBar);
seekBar.setOnSeekBarChangeListener(new Seekbar.OnSeekbarChangeListener() {
@Override
public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) {
//seekbar values changing here from (0-100)
}
@Override
public void onProgressDecrease() {
}
@Override
public void onProgressIncrease() {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
com.madgaze.smartglass.view.Toast
Toast provides with simple feedback which occupy the minimum space to display the information.
Public Methods | Toast |
---|---|
void |
makeText(Context context, String text, Duration length)
|
void |
makeText(Context context, int resID, Duration length)
|
Toast.makeText(this, "This is a Testing Toast", Toast.Duration.SHORT).show();
com.madgaze.smartglass.view.WheelViewRecyclerView
A list with fully customizable menu items with single selection with MAD Gaze touch panel.
Public Methods | WheelViewRecyclerView |
---|---|
void |
setOnWheelViewListener(OnWheelViewListener viewListener)
|
void |
setAdapter(WheelViewAdapter adapter)
|
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black">
<com.madgaze.smartglass.view.WheelViewRecyclerView
android:id="@+id/wheelView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.madgaze.smartglass.view.GestureView
android:id="@+id/gestureView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
GestureView gestureView = (GestureView) findViewById(R.id.gestureView);
WheelViewRecyclerView wheelView = (WheelViewRecyclerView) findViewById(R.id.wheelView);
gestureView.getGestureListener().setOnScrollListener(wheelView);
ArrayList<DefaultWheelviewAdapter.Contact> contacts = DefaultWheelviewAdapter.Contact.createContactsList(20);
DefaultWheelviewAdapter viewAdapter = new DefaultWheelviewAdapter(80, contacts);
wheelView.setAdapter(viewAdapter);
wheelView.setOnWheelViewListener(new WheelViewRecyclerView.OnWheelViewListener() {
@Override
public void onSelected(int selectedIndex) {
//implements your code here to handle if a item is selected.
}
@Override
public void onScrollItemChanged(int previousIndex, int selectedIndex) {
//implements your code here to handle if an active item is changed.
}
});
wheelView.commit();
This library is licensed under the MAD Gaze - Terms of Use.