设置弧形菜单的子项的大小

时间:2014-12-04 13:13:10

标签: android xml layout

我从https://github.com/daCapricorn/ArcMenu下载了弧形菜单库。

这是 arc_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<com.example.arcmenu.lib.ArcLayout
    xmlns:custom="http://schemas.android.com/apk/res-auto"
    android:id="@+id/item_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    app:childSize="44px"
    custom:fromDegrees="270.0"
    custom:toDegrees="360.0" >
</com.example.arcmenu.lib.ArcLayout>

<FrameLayout
    android:id="@+id/control_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:background="@drawable/button_option" >

    <ImageView
        android:id="@+id/control_hint"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</FrameLayout>

这里是 FragmentActivity

public class FregmentActivity extends FragmentActivity  {
  private static final int[] ITEM_DRAWABLES = {
        R.drawable.button_contact_us_option,
        R.drawable.button_back_bookmark, R.drawable.button_news_option,
        R.drawable.button_product_option,
        R.drawable.button_featured_option,
        R.drawable.button_about_us_option };
ArcMenu arcMenu;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    arcMenu = (ArcMenu) findViewById(R.id.arc_menu);

    initArcMenu(arcMenu, ITEM_DRAWABLES);
}

private void initArcMenu(ArcMenu menu, int[] itemDrawables) {
    final int itemCount = itemDrawables.length;
    for (int i = 0; i < itemCount; i++) {
        ImageView item = new ImageView(this);
        item.setImageResource(itemDrawables[i]);

        final int position = i;
        menu.addItem(item, new OnClickListener() {

            @Override
            public void onClick(View v) {
                Log.i("TAG", "IN ARC MENU");

            }
        });
    }
}
}

这里是 main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.example.vjmceramics"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<LinearLayout
    android:id="@+id/content_frame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
</LinearLayout>

<com.example.arcmenu.lib.ArcMenu
    android:id="@+id/arc_menu"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    app:fromDegrees="180.0"
    app:toDegrees="270.0" />

每当我将项目运行到nexus4时,它会显示非常小的子图标。 并在不同的设备上显示不同大小的图标。

有没有办法根据设备运行???

来设置子大小

请帮帮我。谢谢

1 个答案:

答案 0 :(得分:0)

1.从可绘制文件夹中删除图标(例如drawadle-ldpi,drawable-hdpi,drawable-xhdpi等) 2.在drawable-nodpi文件夹中只保留一个图标副本(你想要显示)。

注意 - 如果文件夹不在res目录中,则创建它