在android中以小尺寸显示图像

在android中以小尺寸显示图像,android,image,layout,image-resizing,Android,Image,Layout,Image Resizing,我的应用程序需要显示来自主机url的图像。我正在将图像从类文件添加到内部布局。但是我无法缩小图像的大小,正如你所看到的,它占据了整个屏幕 import beans.MenuItem; import android.app.Activity; import android.app.ActionBar.LayoutParams; import android.content.Context; import android.net.ConnectivityManag

我的应用程序需要显示来自主机url的图像。我正在将图像从类文件添加到内部布局。但是我无法缩小图像的大小,正如你所看到的,它占据了整个屏幕

  import beans.MenuItem;
    import android.app.Activity;
    import android.app.ActionBar.LayoutParams;
    import android.content.Context;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.TextView;
         public class ImageLoading extends Activity {
                public static final String PHOTOS_BASE_URL = 
                        "http://services.hanselandpetal.com/photos/";
                final  JSONObject cartinproduct= new JSONObject();
                @Override
                protected void onCreate(Bundle icicle) {
                    setContentView(R.layout.imageloding);
                    super.onCreate(icicle);
                Button display=(Button) findViewById(R.id.button1);
                display.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        updateDisplay();
                    }
                });
                     }
                    protected boolean isOnline() {
                    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
                    NetworkInfo netInfo = cm.getActiveNetworkInfo();
                    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
                        return true;
                    } else {
                        return false;
                    }
                }
                @Override
                public boolean onCreateOptionsMenu(Menu menu) {
                    getMenuInflater().inflate(R.menu.main, menu);
                    return true;
                }
                protected void updateDisplay() {
                    Log.v("updateDisplay", "Started");
                    setContentView(R.layout.imageloding);
                    final LinearLayout lm = (LinearLayout) findViewById(R.id.linearMain);
                    final MenuController Controller =  (MenuController) getApplicationContext();
                    MenuItem MenuObject = new MenuItem(); 
                    Log.v("loop", "Started");
                        for(int i=0;i<3;i++)
                        {
                        MenuObject.setMenu_name("Product "+i);
                            Controller.setProducts(MenuObject);
                        }
                        //Product arraylist size
                        int ProductsSize = Controller.getProductsArraylistSize();

                        // create the layout params that will be used to define how your
                        // button will be displayed
                        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
                        Log.v("for loop", "Started");
                        for(int j=0;j< ProductsSize;j++)
                        {   
                            // Get probuct data from product data arraylist
                            String pName = Controller.getProducts(j).getMenu_name();
                                // Create LinearLayout to view elemnts
                            LinearLayout ll = new LinearLayout(this);
                            ll.setOrientation(LinearLayout.HORIZONTAL);
                            Log.v("inner loop", "Started");
                            com.example.testapp.LoaderImageView image=new LoaderImageView(this, "http://developer.android.com/images/dialog_buttons.png");
                            image.setImageDrawable("http://developer.android.com/images/MENU_MNU105.jpg");
                            ll.addView(image);
                            TextView product = new TextView(this);
                            product.setText(" "+pName+"    ");
                            ll.addView(product);
                                        lm.addView(ll);
                }
                }
        }
布局代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/display" />

     <LinearLayout
        android:id="@+id/linearMain"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    </LinearLayout>

     <ProgressBar
         android:id="@+id/progressBar1"
         style="?android:attr/progressBarStyleLarge"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />

</LinearLayout>

您可以将com.example.testapp.LoaderImageView添加为XML中LinearLayout的子级,并定义其维度,或者使用所需维度动态添加LinearLayout.LayoutParams。 在com.example.testapp.LoaderImageView image=new LoaderImageViewthis之后添加此行


您可以通过BitmapFactory调整图像大小


您好,您没有设置LinearLayout ll布局参数,请设置宽度和高度。如果您得到有帮助的答案,您应该接受该答案,您知道。
int desire_width = 50;
int desire_height = 50;
image.setLayoutParams(new LinearLayout.LayoutParams(desire_width, desire_height));