在一个linear上
有一个ImageView和一个TextView
现在要根据ImageView的高度来设置TextView的字体大小,保持2者的高度一致
怎么实现呢 同时要保持在不同分辨率下高度都一致,不能在Layout里设定图片高度 图片是可以换的实际写代码时:设置的图片为57*57
800*480分辨率下
得到ImageView的高度在为86px,scale为1.5
320*240分辨率下
得到ImageView的高度在为43px,scale为0.751. 此时用TextView.setTextSize(int unit, float size), unit设置为COMPLEX_UNIT_PX,size为得到的px值。。
此时的字体明显偏大,使得TextView的高度高于ImageView.
2. 根据scale值,得到在不同分辨率下ImageView的高度均为57.8dip.
此时用TextView.setTextSize(int unit, float size), unit设置为COMPLEX_UNIT_DIP,size为得到的dip值。。
效果同上
该如何处理呢。。在操作中将dip值/1.5得到的值。。放进去 高度正好。但是这个1.5目前还没看出有啥根据。所以不能用
求解

解决方案 »

  1.   

    为什么 我看不到这个帖子呢。。
    求解啊
    看了下国外论坛。。
    他们都是在onmearue里面重复的去设置大小。。
    直到让height与image的大小相同。效率太低了啊。。
    求解
      

  2.   

    在设置字体大小的时候请使用android 推荐的 SP 作为单位。sp 和 dp 在大多数情况下是一样的,但在有时候会进行优化。见下面对scaledDensity的注释。 /**
         * A scaling factor for fonts displayed on the display.  This is the same
         * as {@link #density}, except that it may be adjusted in smaller
         * increments at runtime based on a user preference for the font size.
         */
        public float scaledDensity;
      

  3.   

    不能刻意的设置图片高度、和宽度。又要与TextView保持一致性。那你就可以写个函数,取得图片的宽、高。然后进过一定对图片的处理,比如缩小多少比例。然后把缩小之后图片的宽、高。设置给TextView的宽。高了!不知道这么理解可以不?
      

  4.   

    这个看过了的sp试过 ,dip, px都试过就是不行
      

  5.   

    这个图片的高度已经得到了,但是直接设置给TextView的话,里面的字体大小不会自适应的,所以显示出来会很难看,还是要靠设置里面字体的大小来控制TextView的高度