android中的可扩展列表指示器图标

时间:2015-03-05 13:13:08

标签: android expandablelistview indicator

我的导航抽屉中有可扩展的列表视图。我正在尝试设置一个图标并使其显示正确。

我有两个问题:

  1. 指标图标的大小应该是多少? 32 * 32?显示模糊,我想要简单的加号图标和减号图标。

  2. 此外,我正在尝试将指示器图标放在右侧?我无法做到这一点?

  3. 我已经尝试了所有方法,但是在这里工作不是其中之一:

    @Override
    public void onWindowFocusChanged(boolean hasFocus) 
    {
        super.onWindowFocusChanged(hasFocus);
    
        metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        width = metrics.widthPixels;
    
        if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) 
        {
            expListView.setIndicatorBounds(width - GetDipsFromPixel(50), width - GetDipsFromPixel(10));
        } 
        else 
        {
            expListView.setIndicatorBoundsRelative(width - GetDipsFromPixel(50), width - GetDipsFromPixel(10));
        }
    }
    

    我正在测试Nexus 5(5.0)和Galaxy Nexus(4.3)上的应用程序。

    有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

最后我自己解决了这个问题。希望下面的答案对于那些正在努力将组指标向右移动的人来说是有用的。

而不是&#34; android:groupIndicator&#34;我在组列表中添加了一个imageView。

    <ImageView
    android:id="@+id/expandableIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="15dp"
    android:src="@drawable/plus"
    android:visibility="invisible"
    tools:ignore="RtlHardcoded" />

然后在BaseExpandableListAdapter中调用groupView的位置:

我用过:

        if(groupPosition != -1)
        {
            int imageResourceId = isExpanded ? R.drawable.plus : R.drawable.minus;
            image.setImageResource(imageResourceId);
            image.setVisibility(View.VISIBLE);
        } 
        else 
        {
            image.setVisibility(View.INVISIBLE);
        }

以上只是一个解决方法而不是默认组指标。这解决了这个问题。

还是无法弄清楚groupindicator的实际大小?截至目前我使用的是25 * 25似乎很好但我会说应该有一些更好的尺寸来表现出良好的品质。

谢谢!