2016-12-14 51 views
0

我正在学习Android Wear,我必须使用自定义布局执行listView带自定义WearableListItemLayout的WearableListView不显示内容

我对ListViewlinearLayout的每个项目视图都有此代码。

<br.com.mobills.wear.views.WearableListItemLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:gravity="center_vertical" 
android:layout_width="match_parent" 
android:layout_gravity="center_vertical" 
app:layout_box="all" 
android:layout_height="match_parent"> 


<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="15dp" 
    android:orientation="vertical"> 
    <TextView 
     android:id="@+id/title" 
     android:gravity="center_vertical|left" 
     android:layout_width="wrap_content" 
     android:layout_marginRight="16dp" 
     android:layout_height="wrap_content" 
     android:text="@string/contas_title" 
     android:fontFamily="sans-serif-condensed-light" 
     android:textColor="@color/white" 
     android:textSize="14sp"/> 

    <TextView 
     android:id="@+id/subtitle" 
     android:gravity="center_vertical|left" 
     android:layout_width="wrap_content" 
     android:layout_marginRight="16dp" 
     android:layout_height="wrap_content" 
     android:text="R$ 25,0000000" 
     android:fontFamily="sans-serif-condensed-light" 
     android:textColor="@color/white" 
     android:textSize="16sp"/> 

</LinearLayout> 


</br.com.mobills.wear.views.WearableListItemLayout> 

list_item.xml

但是,当我填充我的适配器出现这种情况:

ListView Populate

是否有人知道如何解决这一问题?

回答

1

在许多情况下,每个列表项都包含一个图标和一个描述。 Notifications示例实现了一个自定义布局,该布局扩展了LinearLayout以将这两个元素合并到每个列表项中。此布局还实现WearableListView.OnCenterProximityListener界面中的方法,用于更改项目图标的颜色,并在用户滚动列表时响应来自WearableListView元素的事件而淡化文本。

public class WearableListItemLayout extends LinearLayout 
      implements WearableListView.OnCenterProximityListener { 

    private ImageView mCircle; 
    private TextView mName; 

    private final float mFadedTextAlpha; 
    private final int mFadedCircleColor; 
    private final int mChosenCircleColor; 

    public WearableListItemLayout(Context context) { 
     this(context, null); 
    } 

    public WearableListItemLayout(Context context, AttributeSet attrs) { 
     this(context, attrs, 0); 
    } 

    public WearableListItemLayout(Context context, AttributeSet attrs, 
            int defStyle) { 
     super(context, attrs, defStyle); 

     mFadedTextAlpha = getResources() 
         .getInteger(R.integer.action_text_faded_alpha)/100f; 
     mFadedCircleColor = getResources().getColor(R.color.grey); 
     mChosenCircleColor = getResources().getColor(R.color.blue); 
    } 

    // Get references to the icon and text in the item layout definition 
    @Override 
    protected void onFinishInflate() { 
     super.onFinishInflate(); 
     // These are defined in the layout file for list items 
     // (see next section) 
     mCircle = (ImageView) findViewById(R.id.circle); 
     mName = (TextView) findViewById(R.id.name); 
    } 

    @Override 
    public void onCenterPosition(boolean animate) { 
     mName.setAlpha(1f); 
     ((GradientDrawable) mCircle.getDrawable()).setColor(mChosenCircleColor); 
    } 

    @Override 
    public void onNonCenterPosition(boolean animate) { 
     ((GradientDrawable) mCircle.getDrawable()).setColor(mFadedCircleColor); 
     mName.setAlpha(mFadedTextAlpha); 
    } 
} 

欲了解更多信息,请检查该文件:https://developer.android.com/training/wearables/ui/lists.html

0

此代码对我的作品!

<br.com.mobills.wear.views.WearableListItemLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:gravity="center_vertical|center_horizontal" 
    android:layout_width="match_parent" 
    android:layout_gravity="center_vertical" 
    android:weightSum="2" 
    app:layout_box="top|bottom" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:id="@+id/icon" 
     android:layout_width="36dp" 
     android:layout_height="36dp" 
     android:layout_marginRight="16dp" 
     android:layout_marginLeft="16dp" 
     android:padding="8dp" 
     android:background="@drawable/circle_blue" 
     android:src="@drawable/ic_credit_card_white_24dp"/> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

      <TextView 
       android:id="@+id/title" 
       android:gravity="left" 
       android:layout_height="wrap_content" 
       android:text="adsfdsfasdfasdfasf sdf asdf asdf " 
       android:maxLines="1" 
       android:ellipsize="end" 
       android:fontFamily="sans-serif-condensed-light" 
       android:textColor="@color/white" 
       android:textSize="14sp" 
       android:layout_width="match_parent" /> 

      <TextView 
       android:id="@+id/subtitle" 
       android:gravity="left" 
       android:layout_height="wrap_content" 
       android:maxLines="1" 
       android:text="R$1000000" 
       android:fontFamily="sans-serif-condensed-light" 
       android:textColor="@color/white" 
       android:textSize="24sp" 
       android:textStyle="normal|bold" 
       android:layout_width="match_parent" /> 

    </LinearLayout> 

This is the result

相关问题