我正在制作一个小部件,但我在将RemoteView
添加到我的网站时遇到了麻烦。
仅显示添加的第一项(视图)。
PS:我需要水平添加视图。
这是我在RemoteViews
添加观看次数的循环:
RemoteViews mainView = new RemoteViews(getPackageName(), R.layout.widget);
mainView.removeAllViews(R.id.view_container);
for (int i = 0; i < Constant.max; i++) {
RemoteViews newView = new RemoteViews(getPackageName(), R.layout.item);
newView.setImageViewBitmap(R.id.logo, Constant.data[i].getLogo());
mainView.addView(R.id.view_container, newView);
Log.e("Item added : ", Constant.data[i].getName());
}
widget.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center">
<LinearLayout
android:orientation="horizontal"
android:id="@+id/view_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
</RelativeLayout>
item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_between"
android:layout_marginRight="@dimen/margin_between"
android:background="#F0F0F0"
android:orientation="vertical"
android:padding="2dp">
<ImageView
android:id="@+id/logo"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:src="@drawable/ic_android_black_24dp" />
</LinearLayout>
</LinearLayout>
如果您有任何想法解决这个问题,请提前感谢。
答案 0 :(得分:0)
尝试将 item.xml 中父级布局的宽度更改为view_container
。
因为<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_between"
android:layout_marginRight="@dimen/margin_between"
android:background="#F0F0F0"
android:orientation="vertical"
android:padding="2dp">
<ImageView
android:id="@+id/logo"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:src="@drawable/ic_android_black_24dp" />
</LinearLayout>
</LinearLayout>
会覆盖容器的整个宽度(HorizontalScrollView
),并且其他项目的可用空间不会占用。
std::mutex deque_lock;
PS:如果您有很多图片,可能最好使用deque