1

我想在 xbutton.xml 中的层列表中获取项目。

按钮.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:right="5dp" android:left="5dp" android:bottom="6dp" android:top="5dp">
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <stroke android:width="3dip" android:color="#FFF" />
        <solid android:color="#003055"/>
        <corners android:radius="22dp" />
    </shape>
</item>
<item android:right="10dp" android:left="10dp" android:bottom="11dp" android:top="10dp">
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <gradient
            android:angle="90"
            android:endColor="#0184c9"
            android:startColor="#003055"
            android:type="linear" />
        <corners android:radius="19dp" />
    </shape>
</item>
<item android:left="-30dp" android:top="20dp" android:id="@+id/itemIcon">
    <bitmap android:src="@drawable/coin" android:gravity="center"></bitmap>
</item>
</layer-list>

main_activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_hdpi"
tools:context=".MainActivity">

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/linearLayout"
    android:layout_marginTop="25dp"
    android:layout_marginLeft="35dp"
    android:layout_marginRight="35dp"
    android:orientation="horizontal">

    <Button
        android:id="@+id/list1button"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:textSize="16sp"
        android:background="@drawable/xbutton"
        android:drawablePadding="@dimen/activity_horizontal_margin"
        android:gravity="left|center_vertical"
        android:drawableLeft="@drawable/ikona1"
        style="@style/ButtonShadowText"
        android:onClick="onClickBtn"/>
</LinearLayout>
</RelativeLayout>

当我尝试通过

View itemCoin = findViewById(R.id.itemIcon);

我为itemCoin. 我想更改android:left项目中的值。

我可以得到其他视图,即list1button。

4

1 回答 1

0
final LayerDrawable exampleDrawable = (LayerDrawable) getResources().getDrawable(R.drawable.example);
final ClipDrawable d1 = (ClipDrawable) exampleDrawable.findDrawableByLayerId(R.id.customitemIcon);

findDrawableByLayerId用于在 drawable中搜索图层, findViewById用于VIEWS

于 2014-12-14T17:13:56.333 回答