2015-02-24 3 views
0

У меня есть два изображения, и я хочу создать эффект границы, когда пользователь нажимает на них. Я установил фон как изображения, так и цвета. Теперь, когда пользователь нажимает на изображение, я устанавливаю некоторую прописку на изображении, чтобы создать пограничный эффект. Но, к сожалению, этого не происходит.Android: setpadding не работает с imageview

это мой Java-код:

public void imageClick(View view) 
{ 
switch(view.getId()) 
{ 
case (R.id.imageView1): 
    image1.setPadding(10,10,10,10); 
    image2.setPadding(0,0,0,0); 
    break; 
case (R.id.imageView2): 
    image1.setPadding(0,0,0,0); 
    image2.setPadding(10,10,10,10); 
    break; 
} 
} 

Я не могу понять, почему ничего не происходит, когда изображение щелкнули. Я попробовал оба

android:cropToPadding = "true" 

и

android:cropToPadding = "false" 

, но опять же, никаких результатов.

Мой XML код для imageViews:

<ImageView 
       android:layout_width="0dp" 
       android:id="@+id/imageRegion1" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:onClick="imageClick" 
        android:cropToPadding="false" 
        android:background="#fffff300" /> 

       <ImageView 
        android:id="@+id/imageRegion2" 
        android:layout_width="0dp" 
        android:layout_height="match_parent" 
        android:layout_weight="1" 
        android:onClick="imageClick" 
        android:cropToPadding="false" 
        android:background="#fffff300" /> 

я устанавливаю imageviews динамически:

image1.setImageBitmap(bitmap1); 
image2.setImageBitmap(bitmap2); 
+0

изменения андроида: layout_height = "match_parent" для андроида: layout_height = "wrap_content" он должен отлично работает –

+0

нормально плохо попробовать. Но что, если я хочу «match_parent» вместо wrap_content? – nfsleo07

+0

применяет прописку для полного корневого представления. Так что это не было сделано для индивидуума –

ответ

0

Как кажется, вы, скорее всего, с помощью weightSum & layout_weight механизм для расчета ширины ImageView в равной степени или рационально.

Если я здесь, в этом случае, когда вы устанавливаете прокладку, он не будет делать никаких изменений в уже завышенном виде. Как вы можете ожидать, установка значения прокладки уменьшит ширину & height. Но это не так. Потому что из-за вычисления веса он примет предыдущие значения ширины/высоты, поэтому будет игнорировать отступы.

Надеюсь, это поможет вам решить проблему.

0
<LinearLayout 
    android:id="@+id/row_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:visibility="visible" > 

    <ImageView 
     android:id="@+id/imageRegion1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_weight="1" 
     android:background="#fffff300" 
     android:cropToPadding="false" 
     android:onClick="imageClick" /> 

    <ImageView 
     android:id="@+id/imageRegion2" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_weight="1" 
     android:background="#fffff300" 
     android:cropToPadding="false" 
     android:onClick="imageClick" /> 
</LinearLayout> 

я пытался с этим above.its работает отлично для me.try снова

Смежные вопросы