【问题标题】:About Custom View Margin关于自定义视图边距
【发布时间】:2014-01-22 22:17:41
【问题描述】:

MyView 扩展了 View,并在 onDraw() 中画了一个圆圈。但是,如果我将 margin 设置为它的父布局,它经常被剪裁:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:layout_marginLeft="0dp"
    android:layout_marginRight="0dp"
    android:layout_marginTop="10dp"
    ... >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RAM" />

        <my.ui.ClockView2
            android:padding="5dp"
            android:id="@+id/ram_cv"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:visibility="visible" />

我试图计算边距,但只得到了填充:

    _availableWidth = getWidth() - getPaddingLeft() - getPaddingRight();
    _availableHeight = getHeight() - getPaddingTop() - getPaddingBottom();

有没有办法避免这种情况,提前谢谢!

【问题讨论】:

    标签: android view margin


    【解决方案1】:

    看起来您是在视图中执行此操作,所以试试这个:

            MarginLayoutParams lp = (MarginLayoutParams) getLayoutParams();
            int[] mymargin = {
                    lp.leftMargin,
                    lp.rightMargin,
                    lp.topMargin,
                    lp.bottomMargin,
            };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      相关资源
      最近更新 更多