我有一个AppCompatDialogFragment,它在onCreateDialog函数中构建一个Dialog。在此对话框中是ImageView,它动态获取其图像资源:
iv_exercise.setImageResource(imageResource);
当我运行应用程序并打开对话框时,图像实际上设置正确(由于scaleType:fitStart),但似乎ImageView本身太大,从而推低了其他视图。因此,我想动态更改该ImageView的大小(高度)。
我已经尝试通过以下方式更改高度:
iv_exercise.getLayoutParams().height = view.getWidth() / 3 * 2;
iv_exercise.requestLayout();
什么都不做。我的猜测是,这段代码完成后,它会再次更改ImageView的大小,但这只是一个假设。
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.addexercise_layout_dialog,null);
//...
iv_exercise.getLayoutParams().height = view.getWidth() / 3 * 2;
iv_exercise.requestLayout();
谢谢您的帮助
亚历山大问候