円を描くカスタムビューを作成しました。それから私はそれを相対的なレイアウトに置きました。また、標準ボタンを重ねるように配置しました。そして、ボタンが透明であることがわかります。透明にしない方法は?
6 に答える
背景を に設定して@android:drawable/btn_default
、ホロ テーマの透明度を取り除きます
標準の Holo をテーマにしたボタンは部分的に透明です。ボタンで使用する新しいボタン 9.png 画像を作成するか、drawable を使用して新しいボタンを作成できます。
後者を行う方法に関するリンクは次のとおりです。
ボタンを別のフレームレイアウトに配置して、ビューがボタンに影響を与えないようにすることができます。それが私の考えです
以下のコードをドローアブル フォルダーに xml として保存し、この xml をボタンの背景として指定します。
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="0dp" android:color="#ffffff" />
<solid android:color="#000000"/>
<corners android:radius="1px"/>
<padding android:left="5dp" android:top="3dp" android:right="5dp" android:bottom="3dp" />
</shape>
元:
android:background="@drawable/<< your file name>>"
ホロ透明度は実際にはPNGファイルに組み込まれています。したがって、これを変更する唯一の実際の方法は、PNGを編集して不透明にすることです。これは実際にはまったく簡単ではありません。画像のアルファチャネルに255/102を掛ける必要があります。これは簡単ではありません!
しかし、私はそのような天才なので、それを行う方法を見つけました。基本的に、関連するすべてのPNGとXMLを独自のディレクトリ構造にコピーしました(ボタンには-mdpi
、バージョンのみが-hdpi
あり-xhdpi
ます)。それから私はこれを実行しました:
のファイルのfind . -name *.png
場合; mogrify -evaluate Multiply 2.5 -channel Alpha$FILE;を実行します。終わり
仕事は終わりました!実は、どういうわけか、無効になっているボタンではうまくいきませんでした。中央が非常に透明であるためだと思いますが、あまり気にしません。完全に不透明にする場合は、これらの画像に2.5よりも高い値を使用する必要があります。
とにかく結果はここにあります。