Skip to content

Instantly share code, notes, and snippets.

View ifucolo's full-sized avatar
🌞
🇧🇷 ➡️ 🇳🇱

Iago Mendes Fucolo ifucolo

🌞
🇧🇷 ➡️ 🇳🇱
View GitHub Profile
private double getDistance() {
int distance = (int) Math.sqrt(photo.getTranslationY()*photo.getTranslationY() + photo.getTranslationX()*photo.getTranslationX());
return Util.pxToDp(this, distance);
}
@Override
public void onFrameTouchUp() {
if (getDistance() > 50) {
onBackPressed();
} else {
public class ZoomPichActivity extends AppCompatActivity implements FrameTouch.FrameOnTouch{
@BindView(R.id.photo)
ImageView photo;
@BindView(R.id.backgroundZoom)
FrameTouch frame;
private PhotoViewAttacher mAttacher;
public class FrameTouch extends FrameLayout implements ScaleGestureDetector.OnScaleGestureListener {
...
@Override
public boolean onScale(ScaleGestureDetector detector) {
return true;
}
@Override
...
private class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
frameOnTouch.onScrollMovie(distanceX, distanceY);
return super.onScroll(e1, e2, distanceX, distanceY);
}
public interface FrameOnTouch {
void onFrameTouchUp();
void onScrollMovie(float x, float y);
}
public FrameTouch(Context context) {
super(context);
detector = new GestureDetectorCompat(context, new MyGestureListener());
}
var counter, quantity = 10;
var list = [];
for(counter = 0; counter < quantity; counter++){
var object = {};
object.onClick = (function(counter) {
return function() {
alert(counter);
}
})(counter)
list.push(object);
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/txtName"
android:layout_width="wrap_content"
<com.example.app.widget.WidgetButton
android:id="@+id/widgetButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:isBlue="true"/>
@BindView(R.id.widgetButton)
lateinit var widgetButton: WidgetButton
class WidgetButton @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : LinearLayout(context, attrs, defStyleAttr) {
@BindView(R.id.txtName)
lateinit var txtName: TextView
init {
val inflater: LayoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
inflater.inflate(R.layout.view_name, this)
ButterKnife.bind(this, this)