Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在运行时中将不同的视图状态与不同的可绘制项关联_Java_Android - Fatal编程技术网

Java 如何在运行时中将不同的视图状态与不同的可绘制项关联

Java 如何在运行时中将不同的视图状态与不同的可绘制项关联,java,android,Java,Android,如何放置两个可绘制项目,一个关联点击查看其他状态未点击!! java代码!!因为在我的程序中,我动态创建了新的视图,其中一个视图在默认状态下具有不同的颜色(当android:state_pressed=“false”) 与此完全相同:但在java代码中: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- PRESSED --> <item android:s

如何放置两个可绘制项目,一个关联点击查看其他状态未点击!! java代码!!因为在我的程序中,我动态创建了新的视图,其中一个视图在默认状态下具有不同的颜色(当android:state_pressed=“false”)

与此完全相同:但在java代码中:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- PRESSED -->
<item android:state_pressed="true"> 
    <shape android:shape="rectangle">
           <stroke android:color="#286DCC" android:width="2dp"/>
           <corners android:bottomLeftRadius="5dp" android:bottomRightRadius="10dp" android:topLeftRadius="10dp" android:topRightRadius="10dp" />

                <!--  Gradient Bg for listrow -->
           <gradient  android:startColor="#f1f1f2" android:centerColor="#e7e7e8" 
                      android:endColor="#cfcfcf" android:angle="270" />
     </shape>
 </item>

        <!-- DEFAULT -->
<item >
     <shape android:shape="rectangle" >
           <corners android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" 
                   android:topLeftRadius="10dp"  android:topRightRadius="10dp" />
                <!--  Gradient Bg for listrow -->
           <gradient  **android:startColor="#F75522" android:centerColor="#F75522"**
                    **android:endColor="#F75522"** android:angle="270" />
     </shape>
</item>

</selector>
我不知道如何实现
android:startColor
centerColor
endColor
来动态更改它


为所有人着想。

将onClickListener设置为按钮,并在onClick中更改按钮的背景

public void onClick(View v) {
   if(v == ButtonName) {
     ButtonName.setImageResource(R.drawable.ImageName);
   }
}

我有两种颜色的状态项,第一种颜色仅在单击视图时显示为效果,第二种颜色为默认颜色,在单击视图之前和之后显示,但在单击时不显示。
public void onClick(View v) {
   if(v == ButtonName) {
     ButtonName.setImageResource(R.drawable.ImageName);
   }
}