Android:setbackground layout to button

时间:2015-11-10 10:44:07

标签: android layout setbackground

我想做以下事情:

button.setBackgroundResource(R.layout.caracbout);

但是这个功能只能这样:

button.setBackgroundResource(R.drawable.xxxx);

我的按钮是

<Button
            android:layout_width="0dp" 
            android:layout_height="match_parent" 
            android:layout_weight=".6"
            android:background="@layout/boutcarac"
            android:textColor="#000000"
            android:text="Refresh"
            android:clickable="true"
            android:onClick="refreshfiche"/>

我的布局caracbout xml就像

<item android:state_pressed="true" >
        <shape android:shape="rectangle"  >
            <corners android:radius="5dip"/>
            <stroke
                android:width="1dip"
                android:color="#000000" />
            <gradient
                android:angle="-90"
                android:startColor="#0000"
                android:endColor="#fff5d6"  />
        </shape>
    </item>

    <item style="@style/typocarac">
        <shape android:shape="rectangle"  >
            <corners android:radius="5dip"/>
            <stroke
                android:width="1dip"
                android:color="#fff5d6" />
            <gradient
                android:angle="-90"
                android:startColor="#fff5d6"
                android:endColor="#0000"  />
        </shape>
    </item>

我必须更改项目android:state_pressed =&#34; true&#34;,所以我想创建一个xml caracbout2并在java中设置它。但我不知道我该怎么做。 谢谢!

3 个答案:

答案 0 :(得分:1)

您可以像这样设置背景,

Button btn = (Button) findViewById(R.id.btn);
btn.setBackgroundResource(R.drawable.ic_launcher);

答案 1 :(得分:0)

布局不是背景图片。它们包含绘制应用程序视图/屏幕所必需的信息。要绘制具有自定义背景的按钮,您可以使用可绘制资源文件。

http://developer.android.com/guide/topics/resources/drawable-resource.html

答案 2 :(得分:0)

在目录drawable中创建你的caracbout2 xml文件,并在java中使用R.drawable.caracbout2

您可以从this了解可绘制资源。