您的位置:首页 > 其它

利用ConstantState判断两张图片是否为drawable中同一张图片

2013-07-31 11:57 1771 查看
MainActivity如下:

package cn.testimage;
import android.os.Bundle;
import android.widget.Button;
import android.app.Activity;
import android.graphics.drawable.Drawable.ConstantState;
/**
 * Demo描述:
 * 依据Drawable的ConstantState判断两张图片是否是drawable中同一张图片
 *
 */
public class MainActivity extends Activity {
    private Button mButton;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}

	private void init(){
		mButton=(Button) findViewById(R.id.button);
		
		ConstantState buttonConstantState=
		mButton.getBackground().getConstantState();
		ConstantState resourceConstantState=
		getResources().getDrawable(R.drawable.ic_launcher).getConstantState();
		
		boolean isEqual=buttonConstantState.equals(resourceConstantState);
	    System.out.println("isEqual="+isEqual);
	}

}


main.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="match_parent"
   >

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher" 
        android:layout_centerInParent="true"
    />

</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: