1

我正在使用下面的代码来设置图像视图的宽度。但它不工作。

xml:

`

    <ImageView
        android:id="@+id/card2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="120dp"
        android:layout_toRightOf="@+id/card1"
        android:contentDescription="@string/slot"
        android:src="@drawable/spade_3" />`

和java:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_play__computer);
    card1 = (ImageView)findViewById(R.id.card1);
    card2 = (ImageView)findViewById(R.id.card2);           
    card1.setOnTouchListener(new ChoiceTouchListener());
    card2.setOnTouchListener(new ChoiceTouchListener());
}
private final class ChoiceTouchListener implements OnTouchListener{

     public boolean onTouch(View v, MotionEvent event) {

         if (event.getAction() == MotionEvent.ACTION_DOWN){
             v.getLayoutParams().width = 100;
             return true;
         } else{
             return false;
         }

     }
}

当我触摸图像视图时,它什么也不做。

4

3 回答 3

1

试试这个

RelativeLayout.LayoutParams param = (RelativeLayout.LayoutParams) v.getLayoutParams();
param.width=200;
v.setLayoutParams(param);

希望它对你有用。

于 2013-09-26T11:16:47.627 回答
0

试试这个:

private final class ChoiceTouchListener implements OnTouchListener{

     public boolean onTouch(View v, MotionEvent event) {

         if (event.getAction() == MotionEvent.ACTION_DOWN){
             ImageView imgView = (ImageView) v;

             int width = 100;
             int height = 100;

             LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width, height);
             imgView.setLayoutParams(layoutParams);

             return true;
         } else{
             return false;
         }
     }
}
于 2013-09-26T10:56:58.793 回答
0

使用 LayoutParams 设置高度和宽度:

RelativeLayout layout = new RelativeLayout( this );
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.WRAP_CONTENT);

您可以使用 View.getLayoutParams 从代码中访问任何 LayoutParams

于 2013-09-26T10:59:17.670 回答