从ArrayAdapter类的drawable获取图像高度

时间:2014-08-14 14:48:10

标签: android image get height

我尝试根据图像高度使我的图像视图位置动态。但我坚持从drawable得到图像高度..帮我解决它谢谢..

这是我的代码:

@Override
    public View getView(int position, View view, ViewGroup parent) {
        LayoutInflater inflater = context.getLayoutInflater();
        View rowView= inflater.inflate(R.layout.list_wall, null, true);
        TextView txtProfileUser = (TextView) rowView.findViewById(R.id.txtWallProfile);
        TextView txtTitle = (TextView) rowView.findViewById(R.id.txtWallContentTitle);
        TextView txtContent = (TextView) rowView.findViewById(R.id.txtWallContent);
        ImageView imgWallProfile = (ImageView) rowView.findViewById(R.id.ivWallProfile);
        ImageView imgWallContent = (ImageView) rowView.findViewById(R.id.ivWallContent);

        txtTitle.setText(web2[position]);
        txtContent.setText(web3[position]);
        txtProfileUser.setText(web[position]);
        imgWallProfile.setImageResource(imageId[position]);
        imgWallContent.setImageResource(imageId2[position]);


        GetSize gz = new GetSize();
        Integer h = gz.getImageSize(imageId[position]);
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        lp.setMargins(20,h, 0, 0);
        imgWallProfile.setLayoutParams(lp);

        return rowView;
    }

这是我的getImageSize方法:

public Integer getImageSize(Integer d){
    Drawable bd = getResources().getDrawable(d);
    int height=bd.getIntrinsicHeight();
    return height;}

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望获得图像视图的宽度和高度,而不是位图的宽度和高度。布局参数允许您访问imageView并查看和修改它的参数。

public int getImageSize(View myView) {
    RelativeLayout.LayoutParams myParams = (RelativeLayout.LayoutParams) myView.getLayoutParams();
    return myParams.height;
}