0

私は、利益を上げて会社に販売する最初のAndroidアプリを作成しています。私はAndroidアプリ開発についてはまだあまり進んでいません。

ボタンが2つあります。ScrollViewの最下部に到達したことを検出することができました。それが発生すると、ボタンの1つがクリック可能になります。Button.setClickable(true);

ボタンがクリックできない場合は、暗くしてください。

これは、私が書いた別のアプリケーションの例です。Javaで書かれていますが、Androidアプリではありません。

JSpeak

そこにある多くのボタンやその他のコンポーネントは、ひし形の付いたもの(スキャンをオンにする)がオンになるまで無効になります。それらの無効化されたコンポーネントは、それらに薄暗い外観を持っています。Androidでも同じことを実現する方法を知りたいです。Googleを検索しましたが、関連するものはまだ見つかりませんでした。

PSその写真のソフトウェアについてもっと知りたい場合は、私が作成しました。これはオープンソースであり、ここで確認できます。

https://github.com/BullShark/JSpeak

4

3 に答える 3

3

Anup Cowkurと同様の答えですが、drawable状態の異なるシングルを定義する方がクリーンで優れた方法だと思います。

dimmable_button.xml(res / drawablesフォルダーに配置)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item state_enabled="true"
           android:drawable="@drawable/clickable_image" />
     <item state_enabled="false"
           android:drawable="@drawable/dimmed_image" />
</selector>

次に、layoutボタンが定義されているファイル:

<button
    ....
    android:background="@drawable/dimmable_button" />

これでbutton.setEnabled(bool)、ボタンの背景が自動的に淡色表示に変わります。

于 2013-03-26T05:53:59.173 に答える
1

好きなように別の画像を作成し、クリックできない場合は画像の背景を変更するだけです。

淡色表示の場合:

button.setBackgroundResource(R.drawable.dim_image);

再びクリック可能になったとき:

button.setBackgroundResource(R.drawable.clickable_image);
于 2013-03-26T05:47:02.547 に答える
0

試しましたか

myButton.setEnabled(false);

また

android:clickablexml経由で使用できます

于 2013-03-26T05:56:04.563 に答える