Created
November 3, 2019 02:44
-
-
Save tomoima525/edf4fe36247b42c1b88943c1f9377b92 to your computer and use it in GitHub Desktop.
Yoga sample code for Android
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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