这是我用来创建ImageButton的代码。我的所有按钮都将动态创建。
//It is button which inherits from ImageView
ImageButton button = new ImageButton(this);
Drawable testPic = getResources().getDrawable(R.drawable.test_pic);
//button.setBackgroundColor(R.color.transparent_background);//transparent image button button background
//button.setImageDrawable( testPic );
button.setBackgroundDrawable(testPic);
//button.setMaxWidth(20);
button.setOnClickListener(mCorkyListener);
button.setTag(i);
//button.setId(i);
//Controls how the image should be resized or moved to match the size of this ImageView.
button.setScaleType( ScaleType.CENTER_INSIDE );
System.out.println("button with "+button.getMeasuredWidth());
System.out.println("button height "+button.getMeasuredHeight());
首先我的System.out返回button with 0 and button height 0
但是在设备上我发现它比我想要的要大,我把这个按钮放到Scrollview中:
LinearLayout pubLayout = (LinearLayout)findViewById( R.id.myFilesScrollerLayout);
pubLayout.addView( button );
<ScrollView
android:id="@+id/myFilesScroller"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
>
<LinearLayout
android:id="@+id/myFilesScrollerLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
因此,如何根据ScrollView大小更改我的ImageButton大小。还有如何显示按下按钮?
感谢。
答案 0 :(得分:1)
试试这个
Drawable dr = getResources()。getDrawable(R.drawable.somedrawable); Bitmap bitmap =((BitmapDrawable)dr).getBitmap(); //假设您要将大小设置为50x50 Drawable d = new BitmapDrawable(Bitmap.createScaledBitmap(bitmap,50,50,true));
您还可以使用drawable.setBounds(0,0,50,50);.但有些情况可能不适用于某些图像视图。尝试使用两者。
要检查按钮是否按下,请使用选择器&amp; xml中的项目。THIS LINK可能有帮助