0

権限「 CALL_PHONE 」を使用する Android アプリがあります。この単純なアプリには、call インテントを使用して特定の番号に電話をかけるボタンが含まれているだけです。このアプリをタブレットと電話の両方にインストールしたいのですが、タブレットにインストールするときは、実行時にボタンを無効にして、ユーザーが通話機能なしでタブレットを使用して電話をかけようとしたときにエラーが表示されないようにしたいと考えています。 .

現時点では、ユーザーが初めてボタンをクリックしたときに、 setEnabled()andsetClickable()メソッドを使用して false に設定しています。MainActivity.java私の質問は、ボタンを無効にしてテキストを変更できるかどうかです実行時またはアプリが最初に(タブレットで)開かれたときに、ユーザーが最初にボタンをクリックして「呼び出し」ボタンが必要であることを示す必要がない無効にしてクリックできないようにしますか?

4

3 に答える 3

2

これを参照してください

これは、アプリケーションがタブレットで実行されていることを識別するのに役立ちます。ボタンを無効にすることに関しては、次のような提案をします。

onCreate()
{
     setContentView(R.layout.main);
     boolean isTablet = checkDevice();
     callBtn = (Button) findViewById(R.id.call);
     if (isTablet)
     {
        callBtn.setEnabled(false);
        callBtn.setText("Not allowed to make a call");
     }

     callBtn.setOnClickListener( new onClickListener(){
           //Make a call
     });

}

public boolean isTablet()
{

    //Code for identifying. Return true if application is running on tablet
    //return false otherwise

}

そのため、タブレットでユーザーが[通話]ボタンをクリックして無効にするのを待つ必要はありません。お役に立てば幸いです。

于 2012-12-28T04:43:14.673 に答える
1

表示可能だがユーザーがクリックできないようにしたり、ボタンを非表示にしたり、ボタン テキストのランタイムを変更したりするために使用button.setEnabled(false);します。
button.setVisibility(View.GONE);button.setText("YOUR_NEW_TEXT");

また、これは画面のサイズに依存しません。

これが欲しかったの??または、質問をより具体的にしてください。

于 2012-12-28T03:12:57.993 に答える
0

...実行時にテキストが変更されましたか?

setText(); を使用できます。方法。

質問の他の部分については、まず「タブレットとは」を定義する必要があります。それは 7 インチ、8 インチ、10 インチのスクリーンですか? mdpi、hdpi、xhdpi スクリーンですか? 電話をかけることができるデバイスですか? あなたまたはあなたのプロジェクトにとってタブレットとは何ですか? あなたの答えに応じて、コード (またはフォルダー内の xml ) をフィルターして、希望どおりに機能させることができます。

于 2012-12-28T02:55:47.420 に答える