gpt4 book ai didi

android - 如何设置 Wearable ListView 项目高度

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:56:04 26 4
gpt4 key购买 nike

我创建了 WearableListView 列表。问题是设置 android:layout_height="20dp"没有帮助 enter image description here

在这种情况下如何设置高度?在 Android Wear 示例项目 Notifications 和 Timer 中,它们也只是设置了属性 android:layout_height="80dp"。但我试图在项目中设置 android:layout_height="20dp"但它没有帮助! (以下是我的项目源码):

list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<base.mobitee.com.mobiteewatch.adapter.HolesListItemLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="center_vertical" >

<TextView
android:id="@+id/text_hole"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-light"
android:gravity="center"
android:textSize="@dimen/list_item_text_size" />
</base.mobitee.com.mobiteewatch.adapter.HolesListItemLayout>

孔列表项目布局.java:

公共(public)类 HolesListItemLayout 扩展了 LinearLayout 实现 WearableListView.OnCenterProximityListener { 私有(private) TextView mName; 私有(private)最终诠释 mFadedTextColor; private final int mChosenTextColor;

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

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

public HolesListItemLayout(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
mFadedTextColor = getResources().getColor(R.color.grey);
mChosenTextColor = getResources().getColor(R.color.black);
}

// Get references to the icon and text in the item layout definition
@Override
protected void onFinishInflate() {
super.onFinishInflate();
mName = (TextView) findViewById(R.id.text_hole);
}

@Override
public void onCenterPosition(boolean animate) {
mName.setTextSize(18);
mName.setTextColor(mChosenTextColor);
}

@Override
public void onNonCenterPosition(boolean animate) {
mName.setTextColor(mFadedTextColor);
mName.setTextSize(14);
}

孔列表适配器.java:

public class HolesListAdapter extends WearableListView.Adapter {
private final Context mContext;
private final LayoutInflater mInflater;

public HolesListAdapter(Context context) {
this.mContext = context;
mInflater = LayoutInflater.from(context);
}

@Override
public WearableListView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new WearableListView.ViewHolder(
mInflater.inflate(R.layout.list_item_hole, null));
}

@Override
public void onBindViewHolder(WearableListView.ViewHolder holder, int position) {
TextView text = (TextView) holder.itemView.findViewById(R.id.text_hole);
text.setText(mContext.getString(R.string.hole_list_item) + " " + (position + 1));
text.setTextColor(mContext.getResources().getColor(android.R.color.black));
holder.itemView.setTag(position);
}

@Override
public int getItemCount() {
return Preferences.HOLES;
}
}

最佳答案

WearableListView 被硬编码为一次只显示三个项目 - 它通过将 ListView 的高度除以三来测量项目高度......所以没有一种实用的方法来做你想做的事情。

我建议将文本字体调大...

关于android - 如何设置 Wearable ListView 项目高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31910233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com