0

私はそれを持っていimageViewて、それと同じくらいマージントップをマイナスしようとしていますheight / 2。私はプログラムでそれを行うことができますが、xmlでもandorid published percentrelative layoutでも可能でしょうか。私はそれを行う方法がわからない、または可能ですか?

4

1 に答える 1

0

--編集: @aga が示唆するように、Percent Support Libraryを介してそれを達成する方法があるようです--

アプリケーション全体でこのタイプをimageViewより頻繁に使用する場合は、imageview を拡張して、マージンコードを onMeasure 内に配置できます。

public class HalfMarginImageView extends ImageView {

    public HalfMarginImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        ((ViewGroup.MarginLayoutParams) getLayoutParams()).topMargin = -getMeasuredHeight() / 2;
    }
}

これを機能させるには、ビューが ViewGroup の一部である必要があります。また、AttributeSet でコンストラクターを使用していることを確認してください。次に、レイアウト xml に CustomView を含め、それを選択HalfMarginImageViewして通常の imageView として使用します。

于 2015-08-21T10:05:38.883 に答える