0

I am very new to Android. How to set background image to entire my relative layout, my image coming from server? Please tell me how to change background.

Here is my code, every image getting through JSON.

ActivityClass.java:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_movie_rev_fulldis_activity);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    //movie title namename text view
    movie_title=(TextView)findViewById(R.id.revi_fulldes_movietitle);

    //movie image in reviews
    movie_image=(ImageView)findViewById(R.id.revi_fulldes_movieImage);

    mov_pos=Integer.parseInt((getIntent().getExtras()).getString("mov_pos"));

    movie_title.setText(Reviews_update.revData.get(mov_pos).getNewsTitle());

    Picasso.with(getApplicationContext()).load((Reviews_update.revData.get(mov_pos)).getNewsImage()).into(movie_image);
}

XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/revi_main_layout"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="20dp"
    android:weightSum="1">

    <LinearLayout
        android:layout_marginTop="110dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="#FFFFFF">

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="120dp"
                android:layout_height="160dp"
                android:id="@+id/revi_fulldes_movieImage"
                android:layout_weight="0"
                android:padding="10dp"/>

        </FrameLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="3">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/revi_fulldes_movietitle"
                android:textSize="18dp"
                android:padding="10dp"
                android:textStyle="bold"
                android:text="Moviewheewd  ewudwd wedewd w"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/revi_fulldes_movierev_sitename"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="20dp"
                android:text="simple  jwehd wj dewjd"/>

        </LinearLayout>

    </LinearLayout>
Antti29
  • 2,953
  • 12
  • 34
  • 36
chanti
  • 601
  • 2
  • 8
  • 17

2 Answers2

1

Use callback of Picasso

Picasso.with(getActivity()).load(R.drawable.table_background).into(new Target(){

@Override
public void onBitmapLoaded(Bitmap bitmap, LoadedFrom from) {
 mainLayout.setBackground(new BitmapDrawable(context.getResources(), bitmap));
}

@Override
public void onBitmapFailed(final Drawable errorDrawable) {
  Log.d("TAG", "FAILED");
}

@Override
public void onPrepareLoad(final Drawable placeHolderDrawable) {
  Log.d("TAG", "Prepare Load");
}      
})

For better understanding see this

Community
  • 1
  • 1
Coder29
  • 133
  • 1
  • 4
0

Replace your Picasso code like this, you'll achieve what you want, just try !

Picasso.with(this)
        .load(url)
        .into(new Target() {
            @Override
            public void onBitmapLoaded (final Bitmap bitmap, Picasso.LoadedFrom from){
                /* Save the bitmap or do something with it here */
                BitmapDrawable background = new BitmapDrawable(bitmap);
                linearLayout.setBackgroundDrawable(background);
            }
    });

hope it will help you !

Rahul
  • 510
  • 3
  • 8