2011-11-17 9 views
9

एंड्रॉइड: छविबटन की छवि की ऊंचाई/चौड़ाई (पृष्ठभूमि की स्रोत छवि पूर्णांक) कैसे सेट करें?Android: ImageButton की src छवि की ऊंचाई/चौड़ाई कैसे सेट करें?

मैं शीर्ष स्तर छवि (नहीं पृष्ठभूमि) छवि की ऊंचाई/चौड़ाई सेट करना चाहते हैं, छवि का आकार बजाय अनुकूलित किया जाना चाहिए बटन स्वचालित रूप से

+0

संभव डुप्लिकेट: http://stackoverflow.com/questions/6899088/adjusting-the-size-of-an-imagebutton-in-android –

+2

मैं की ऊंचाई/चौड़ाई सेट करना चाहते हैं शीर्ष स्तर की छवि (पृष्ठभूमि नहीं) छवि, छवि का आकार स्वचालित रूप से बटन को भरने के बजाय अनुकूलित किया जाना चाहिए। –

उत्तर

2

एक्सएमएल

<ImageButton 
android:id="@+id/picture_id" 
android:layout_width="10dp" //here width with unit. 5 dp exemple 
android:layout_height="3dp" //here height with unit. 3 dp exemple 
android:src="@drawable/picture_name" 
/> 
fullfill की

संपादित करें: (जावा कोड)

// load the origial BitMap (500 x 500 px) 
    Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(), 
      R.drawable.android); 

    int width = bitmapOrg.width(); 
    int height = bitmapOrg.height(); 
    int newWidth = 200; 
    int newHeight = 200; 

    // calculate the scale - in this case = 0.4f 
    float scaleWidth = ((float) newWidth)/width; 
    float scaleHeight = ((float) newHeight)/height; 

    // create a matrix for the manipulation 
    Matrix matrix = new Matrix(); 
    // resize the bit map 
    matrix.postScale(scaleWidth, scaleHeight); 
    // rotate the Bitmap 
    matrix.postRotate(45); 

    // recreate the new Bitmap 
    Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0, 
         width, height, matrix, true); 

    // make a Drawable from Bitmap to allow to set the BitMap 
    // to the ImageView, ImageButton or what ever 
    BitmapDrawable bmd = new BitmapDrawable(resizedBitmap); 

    ImageView imageView = new ImageView(this); 

    // set the Drawable on the ImageView 
    imageView.setImageDrawable(bmd); 

    // center the Image 
    imageView.setScaleType(ScaleType.CENTER); 

    // add ImageView to the Layout 
    linLayout.addView(imageView, 
      new LinearLayout.LayoutParams(
        LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT 
      ) 
    ); 
+0

यह पूरे बटन की चौड़ाई और ऊंचाई को समायोजित करता है, मैं src image को समायोजित करना चाहता हूं। –

+0

आप इसे जावा कोड के साथ कर सकते हैं। – damson

+0

धन्यवाद, यह मेरे लिए थोड़ा जटिल है। मैं घूमने के लिए एक और आइकन का उपयोग करने के लिए बदल गया। –

6

आप Bitmap.cr उपयोग कर सकते हैं छवि को आकार के आकार में स्केल करने के लिए eateScaledBitmap।

Bitmap image = ... //load image from your source 
image = Bitmap.createScaledBitmap(image, desiredHeight, desiredWidth, true); 
+0

[डॉक्स] के अनुसार (https://developer.android.com/reference/android/graphics/Bitmap.html#createScaledBitmap) आप आकारों को उलटा रखते हैं, आपको इसे इस तरह बनाना होगा: 'image = Bitmap.createScaledBitmap (छवि, वांछित Width, वांछित हाइट, सच); ' –

19

तुम बस ImageButton की scaleType विशेषता का उपयोग करें कर सकते हैं। इसे fitXY या fitCenter पर सेट करें या आपकी आवश्यकता के अनुसार कुछ भी।

इस

<ImageButton 
    android:id="@+id/imageButton" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:scaleType="fitCenter" 
    android:src="@drawable/some_image"> 
</ImageButton> 
+2

यह स्वीकार्य जवाब होना चाहिए। – MeetTitan

+1

यह सवाल का जवाब नहीं देता है। प्रश्न पूरे 'ImageButton' के बजाय' android: src' के आकार को सेट करने का तरीका मांग रहा है। जैसे एक 'ImageButton' है जो 35 डीपी x 35dp पर src image के साथ 100dp x 100dp है – Weizhi

3

मैं एक ही समस्या थी की तरह ... छवि बटन की 'src' छवि का आकार बदलने (नहीं बटन के आकार सिर्फ छवि केवल)।

मैं क्या did--

मैं 'drawable-hdpi' फ़ोल्डर में 'drawable' फ़ोल्डर से उन '.png' फ़ाइल ले जाया गया।

अजीब ... लेकिन यह काम किया।

धन्यवाद,

संबंधित मुद्दे