Skip to content

Instantly share code, notes, and snippets.

View v3n3's full-sized avatar

Julien Veneziano v3n3

View GitHub Profile
<ImageView
android:layout_width="@dimen/logo_size"
android:layout_height="@dimen/logo_size"
android:contentDescription="@null"
bind:src="@{logoURL}"
bind:blur="@{20}"
bind:cropCircle="@{true}"
bind:error="@{@drawable/ic_error_black_24dp}"
bind:placeholder="@{@drawable/ic_rowing_black_24dp}"
/>
/**
* Bind Glide with an ImageView.
*
* @param view the ImageView to bind to Glide.
* @param src The URL of the image to load.
* @param placeholder The placeholder icon.
* @param error The error icon.
* @param blurValue The blur radius value between 1 and 25.
* @param cropCircle Crop the image in a circle of not.
*/
<ProgressBar
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
bind:progressColor="@{@android:color/holo_green_dark}"
/>
@v3n3
v3n3 / ProgressColorBinding.java
Last active October 11, 2018 00:09
Using BindingAdapter to change ProgressBar color for pre-lollipop
@BindingAdapter("progressColor")
public static void setProgressBarColor(ProgressBar loader, int color) {
if (loader != null) {
loader.getIndeterminateDrawable()
.setColorFilter(color, android.graphics.PorterDuff.Mode.SRC_IN);
}
}
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="presenter"
type="com.example.MyPresenter"/>
<variable
public class MainActivity extends AppCompatActivity {
ActivityMainBinding binding;
MainViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewModel = new MainViewModel();
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.setModel(viewModel);
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="model"
type="com.example.MyModel"/>
</data>
public class TwoWayViewModel extends BaseObservable {
private String username;
@Bindable
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
@OnClick(R.id.my_button)
public void sendToServer(){
MyData data = getDataFromEditText();
presenter.makeServerCall(data);
}
public class MainActivity extends AppCompatActivity {
ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
setSupportActionBar(binding.toolbar);
}
}