Skip to content

Instantly share code, notes, and snippets.

@tomoima525
Created November 3, 2019 02:44
Show Gist options
  • Save tomoima525/edf4fe36247b42c1b88943c1f9377b92 to your computer and use it in GitHub Desktop.
Save tomoima525/edf4fe36247b42c1b88943c1f9377b92 to your computer and use it in GitHub Desktop.
Yoga sample code for Android
package com.koudle.andyogaexample.fragments;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.facebook.yoga.YogaAlign;
import com.facebook.yoga.YogaEdge;
import com.facebook.yoga.YogaJustify;
import com.facebook.yoga.YogaNode;
import com.facebook.yoga.YogaPositionType;
import com.facebook.yoga.android.YogaLayout;
import com.koudle.andyogaexample.R;
import com.koudle.andyogaexample.models.Initializeable;
import com.koudle.andyogaexample.utils.DimentionHelper;
/**
* A simple {@link Fragment} subclass.
*/
public class TestButtonAbsoluteFragment extends Fragment implements Initializeable{
private YogaLayout mYogaLayout_RootLayout;
private Button mButton_Top;
private YogaNode mYogaNode_ButtonTop;
private YogaLayout mYogaLayout_Absolute;
private Button mButton_BringButton;
private YogaNode mYogaNode_BringButton;
private Button mButton_BringYoga;
private YogaNode mYogaNode_BringYoga;
public TestButtonAbsoluteFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_test_button_absolute, container, false);
findViews(v);
initializeVariables();
initializeViews();
return v;
}
@Override
public void findViews(View v) {
mYogaLayout_RootLayout = (YogaLayout) v.findViewById(R.id.absolute_rootLayout);
}
@Override
public void initializeVariables() {
}
@Override
public void initializeViews() {
mButton_Top = new Button(getActivity());
mButton_Top.setText("ButtonFirst");
mButton_Top.setBackgroundColor(Color.RED);
mButton_Top.setTextColor(Color.WHITE);
mYogaNode_ButtonTop = new YogaNode();
// mYogaNode_ButtonTop.setPositionType(YogaPositionType.ABSOLUTE);
mYogaNode_ButtonTop.setHeight(DimentionHelper.dpToPixels(100));
mYogaNode_ButtonTop.setWidth(DimentionHelper.dpToPixels(100));
mYogaLayout_Absolute = new YogaLayout(getActivity());
mYogaLayout_Absolute.setBackgroundColor(Color.GREEN);
mYogaLayout_Absolute.getYogaNode().setPositionType(YogaPositionType.ABSOLUTE);
mYogaLayout_Absolute.getYogaNode().setPosition(YogaEdge.TOP, 0);
mYogaLayout_Absolute.getYogaNode().setPosition(YogaEdge.RIGHT, 0);
mYogaLayout_Absolute.getYogaNode().setPosition(YogaEdge.BOTTOM, 0);
mYogaLayout_Absolute.getYogaNode().setPosition(YogaEdge.LEFT, 0);
mYogaLayout_Absolute.getYogaNode().setJustifyContent(YogaJustify.FLEX_END);
mYogaLayout_Absolute.getYogaNode().setAlignItems(YogaAlign.FLEX_END);
mButton_BringButton = new Button(getActivity());
mButton_BringButton.setText("myButton");
mButton_BringButton.setBackgroundColor(Color.parseColor("#00A1F1"));
mButton_BringButton.setTextColor(Color.WHITE);
mButton_BringButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mButton_Top.bringToFront();
}
});
mYogaNode_BringButton = new YogaNode();
mYogaNode_BringButton.setHeight(DimentionHelper.dpToPixels(100));
mYogaNode_BringButton.setWidth(DimentionHelper.dpToPixels(100));
mYogaNode_BringButton.setMargin(YogaEdge.BOTTOM, DimentionHelper.dpToPixels(10));
mYogaNode_BringButton.setMargin(YogaEdge.RIGHT, DimentionHelper.dpToPixels(10));
mButton_BringYoga = new Button(getActivity());
mButton_BringYoga.setText("myAbsolute");
mButton_BringYoga.setBackgroundColor(Color.parseColor("#00A1F1"));
mButton_BringYoga.setTextColor(Color.WHITE);
mButton_BringYoga.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mYogaLayout_Absolute.bringToFront();
}
});
mYogaNode_BringYoga = new YogaNode();
mYogaNode_BringYoga.setHeight(DimentionHelper.dpToPixels(100));
mYogaNode_BringYoga.setWidth(DimentionHelper.dpToPixels(100));
mYogaNode_BringYoga.setMargin(YogaEdge.BOTTOM, DimentionHelper.dpToPixels(10));
mYogaNode_BringYoga.setMargin(YogaEdge.RIGHT, DimentionHelper.dpToPixels(10));
mYogaLayout_Absolute.addView(mButton_BringButton, mYogaNode_BringButton);
mYogaLayout_Absolute.addView(mButton_BringYoga, mYogaNode_BringYoga);
mYogaLayout_RootLayout.addView(mButton_Top, mYogaNode_ButtonTop);
mYogaLayout_RootLayout.addView(mYogaLayout_Absolute);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment