1

ユーザーがいくつかのサブカテゴリを表示するリストアイテムをクリックしたときに、ListActivityにContextMenuを配置しようとしています。他の選択肢(ExpandableList、RadioButtonなど)をわざわざ教えてはいけません。

切り捨てられるのではなく、全文を表示するにはどうすればよいですか?ContextMenuにデータを入力する方法は次のとおりです。

    @Override  
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {  
        super.onCreateContextMenu(menu, v, menuInfo);  

        //Fill context menu with appropriate subcategory
        menu.setHeaderTitle("Categories");
        for(String item : menuItem)
        {
            menu.add(0, v.getId(), menu.size()+1, item);
        }
    }

menuItemは単なるString[]配列であることに注意してください

これが私のコンテキストメニューです。ContextMenu 写真を投稿するのに十分な評判がないバカのように感じます。

4

2 に答える 2

0

私が知っている唯一の方法は、コードだけでなくXMLからメニューを作成し、すべてのテキストが収まるようにテキストサイズを変更することです。少し調べてみたところ、プログラムで生成されたメニューのテキストサイズを変更する方法についての情報が見つかりませんでした。

XMLからコンテキストメニューを作成するためのドキュメントはこちらです。

于 2012-05-31T04:21:53.950 に答える
0

私は同様の問題に遭遇しました。ただし、コードでタイトルを設定する代わりに、メニューリソースxmlを使用しています。

メニュー項目には、タイトルと、タイトルが切り捨てられるシナリオの「android:titleCondensed」の両方を含めることができます。

私の知る限り、より多くのカスタム動作が必要な場合は、標準のAndroidメニューリソースが提供するものと比較してより複雑な動作を説明するために、独自のレイアウトリソースを指定する必要があります。基本的に、デフォルトのレイアウトを独自のレイアウトで上書きできます。

プログラムで文字列を設定して、異なる時間に異なるアイテムを含むコンテキストメニューを実現する場合は、xmlメニューリソースでタイトルと要約タイトルを指定することを検討できます。次に、onCreateContextMenuで、各アイテムの「setMenuItemVisibility」を呼び出すロジックを追加できます。常に表示したくないアイテムを除外します。

于 2016-07-26T17:29:18.857 に答える