There is no way to apply opacity in xml. It is only possible using two images.
-
You are using PNG files, you will have to create 2 png's with different opacities.
1º PNG - Enable. 100% opacity.
2º PNG - Disabled. 70% opacity.
After this, you need to create a selector XML with 2 different states:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:drawable="@drawable/btn_disabled" />
    <item android:drawable="@drawable/btn_active" />
</selector>
You can also use shape buttons with different opacity using the alpha of ARGB (#AARRGGBB). Example: # 80FFFFFF (50% opacity)
(Source)
Example:
Enabled:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners android:radius="20dp"/>
    <solid android:color="#002aff" />
</shape>
Disabled (70% opacity: #b3002aff):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners android:radius="20dp"/>
    <solid android:color="#b3002aff" />
</shape>