如何更改groupindicator arrow xamarin Android

时间:2017-02-21 18:58:10

标签: android xamarin

问题:我更改了groupindicator,但图片水平拉伸,无法修复

我尝试了什么: 所以我尝试将其中一个图像转换为9个补丁图像,但是然后xamarin找不到它。 我尝试设置指示条(0,5),但箭头不会出现, 我迷路了,如何用图像替换expandablelistview箭头(groupindicator),然后该图像不被拉伸但是我可以指定固定大小? 我也玩过设置选择器xml,但似乎什么都没有用!

settings_selector.xml

   <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
       android:left="5dp"
    android:right="5dp"
    android:top="5dp"
    android:bottom="5dp"
        android:drawable="@drawable/uparrow"
        android:state_expanded="true" />

    <item
       android:left="11dp"
    android:right="11dp"
    android:top="12dp"
    android:bottom="12dp"
        android:drawable="@drawable/downarrow" />

</selector>

Page.axml

 `{<?xml version="1.0" encoding="utf-8"?>
<ExpandableListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myExpandableListview"
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:groupIndicator="@drawable/settings_selector"
    android:layout_height="match_parent"

     />}

1 个答案:

答案 0 :(得分:0)

  

如何用图像替换expandablelistview箭头(groupindicator),然后该图像不被拉伸但是我可以指定固定大小?

groupindicator的图标图像将始终被拉伸,通常是9补丁图像,其顶部和底部仅包含可伸缩像素可以解决问题。但是,如果9补丁图像不适合您并且您坚持使用图像资源,那么解决图像拉伸问题的一种简单方法是为android:groupIndicator="@null"设置ExpandableListView

然后在ExpandableListView的列表组(标题)的布局中,手动添加ImageView,例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
  <ImageView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/indicator"
        android:src="@drawable/downicon" />
  <TextView
      android:id="@+id/DataHeader"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:textAppearance="?android:attr/textAppearanceLarge"
      android:text="DataHeader"
      android:layout_margin="2dp"
      android:textStyle="bold"
      android:paddingStart="50dp"
      android:paddingLeft="50dp" />
</LinearLayout>

最后在后面的代码中订阅GroupClick的{​​{1}}事件,例如:

ExpandableListView

渲染此演示的图像:

enter image description here