2016-05-02 53 views
2

ポップアップメニューを持つアンドロイドアプリを作成しています。ボタンをクリックしたときに開き、そのポップアップメニューのメニュー項目のテキストサイズを動的に増やしたいとします(ユーザー入力)。ポップアップメニューの項目を動的に変更する

誰でもプログラマチックにどのように役立つことができますか?私のクラスで

menuButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      //Creating the instance of PopupMenu 
      PopupMenu popup = new PopupMenu(getActivity(), menuButton); 

      //Inflating the Popup using xml file 
      popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu()); 
      //registering popup with OnMenuItemClickListener 
      popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
       @Override 
       public boolean onMenuItemClick(MenuItem item) { 
         switch (item.getItemId()) { 
          case R.id.one: 
           // Some Stuffs 
          break; 
          case R.id.two: 
           // Some Stuffs 
          break; 
          default: 
          break; 
        } 
        return true; 
       } 
      }); 

そして、私のxmlファイルがある::

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/fav_menu"> 
<group android:id="@+id/first_section" android:checkableBehavior="none" > 
<item 
    android:id="@+id/one" 
    android:title="@string/sort" 
    android:visible="true" 

    /> 
</group> 
<group android:id="@+id/first_two" android:checkableBehavior="none"> 
<item 
    android:id="@+id/two" 
    android:title="@string/sort" 
    android:visible="true" 
    /> 
</group> 
</menu> 
+0

参照[リンク](http://stackoverflow.com/a/28854648/2715073) – Pankaj

+0

@Clairvoyantウルリンクしてくれてありがとうしかし、私は、動的にユーザーの入力に基づいてサイズを変更したいです。 (動的であれば、プログラム的に正しいはずですか?) – Saran

答えて

-1

あなたはそれをのstyles.xmlして使用するには、このコードを追加してテキストサイズを変更することができますマニフェストファイル内にあります。

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:popupMenuStyle">@style/PopupMenu</item> 
    <item name="android:textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item> 
    <item name="android:textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item> 

    <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
</style> 

<style name="PopupMenu" parent="@android:style/Widget.PopupMenu"> 
    <item name="android:popupBackground">@android:color/white</item> 
    <item name="android:textSize">12sp</item> 
</style> 


<style name="myPopupMenuTextAppearanceSmall" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Small"> 
<item name="android:textSize">15sp</item> 
</style> 
<style name="myPopupMenuTextAppearanceLarge" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Large"> 
<item name="android:textSize">25sp</item> 
</style> 
+0

これは私が考える答えではありません。 Javaクラス内でプログラム的に変更する方法を説明してください。 – Saran

関連する問題