gpt4 book ai didi

java - 如何从 setImageResource() 调整第二个图像的大小

转载 作者:行者123 更新时间:2023-12-02 06:48:22 27 4
gpt4 key购买 nike

我是 java/android 新手,正在制作一个测试应用程序。它有图像按钮,单击时会暂时切换到不同的图像。使用

裁剪原件
android:adjustViewBounds="true"
android:scaleType="centerCrop"

在activity_main.xml中问题是第二张图像没有被裁剪,因此对于按钮来说太大了。有谁知道我该如何解决这个问题?这是其中一个按钮的示例:

public void onClick(View v) {

//switch to second img
butt2.setImageResource(R.drawable.newimg);

//switch back to first after pause

new Handler().postDelayed(new Runnable() {

public void run() {

butt2.setImageResource(R.drawable.orig);


}

}, 500L);

}
});

最佳答案

我使用过以下内容

int normal[] = { R.drawable.num0, R.drawable.num1, R.drawable.num2,
R.drawable.num3, R.drawable.num4, R.drawable.num5,
R.drawable.num6, R.drawable.num7, R.drawable.num8,
R.drawable.num9, R.drawable.del, R.drawable.go };
int pressed[] = { R.drawable.num0_clicked, R.drawable.num1_clicked,
R.drawable.num2_clicked, R.drawable.num3_clicked,
R.drawable.num4_clicked, R.drawable.num5_clicked,
R.drawable.num6_clicked, R.drawable.num7_clicked,
R.drawable.num8_clicked, R.drawable.num9_clicked,
R.drawable.del_clicked, R.drawable.go_clicked };
StateListDrawable sld;
for (int i = 0; i < 12; i++) {
sld = new StateListDrawable();
sld.addState(new int[] { android.R.attr.state_pressed },
getResources().getDrawable(pressed[i]));
sld.addState(new int[] {}, getResources().getDrawable(normal[i]));
btns[i].setImageDrawable(sld);
}

关于java - 如何从 setImageResource() 调整第二个图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18343111/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com