以编程方式更改图层列表资源内的形状中的填充值

时间:2015-03-09 12:51:53

标签: java android padding layer-list

我使用这个带有填充的xml资源

<item android:id="@+id/first_image">
    <shape
        android:layout_width="wrap_content"
        android:left = "1dp"
        android:right = "50dp"
        android:shape="rectangle" >
        <stroke
            android:width="10dp"
            android:color="@color/orange_dd" />

        <solid android:color="#00000000" />
        <padding
            android:bottom="1dp"
            android:left="1dp"
            android:right="99dp"
            android:top="1dp" />           
    </shape>
</item>
<item android:id="@+id/second_image">
    <shape 
        android:shape="rectangle" 
        android:left = "200dp"
        android:right = "440dp"
        >
        <gradient
            android:angle="0"
            android:centerColor="@color/turquesa_l"
            android:endColor="@color/turquesa_l"
            android:startColor="@color/turquesa_ddd" />
    </shape>
</item>

我想以编程方式将右边距(值99)的值更改为其他值。 我知道如何更改形状的其他属性,如颜色或无线电,但没有找到如何更改填充值......

1 个答案:

答案 0 :(得分:0)

我认为你可以使用set padding方法:

    Button myButton = (Button)findViewById(R.id.button);
    myButton.setPadding(10,20,30,40);

同样适用于形状。 如果您只想更改4个填充值中的一个,则可以使用getPaddingLeft()getPaddingTop()getPaddingRight()getPaddingBottom()来获取其他填充值。< / p>

有关setpadding方法的更多信息。