动态添加RemoteViews的布局权重
在我的小部件中,我使用以下内容将项目(R.layout.widget_item)动态添加到我的主要小部件布局中定义的LinearLayout:
//-- Main widget layout RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_design); //-- Add to main layout RemoteViews newView = new RemoteViews(context.getPackageName(), R.layout.widget_item); views.addView(R.id.view_container, newView);
我的问题是,如何在newView上动态设置“android:layout_weight”属性?
请参阅: http : //developer.android.com/reference/android/widget/RemoteViews.html
您的示例中的newView是RemoteViews类的一个实例,我认为您不能轻松设置RemoteViews提供的内容。
newView.setLayoutParams(layoutParams);
以上操作无效,因为它不是RemoteViews的一部分。
据我所知……可能有一些关于设置和查找RemoteViews的尺寸和其他layoutParams的方法,但我还没有找到它。
首先你得到这样的视图参数
layoutParams = newView.getParams();
然后编辑tham // layoutParams .setThis / setThat你要做的各种操作
然后将新参数设置回视图
newView.setLayoutParams(layoutParams);
layout_weight是您应用于LinearLayout的LinearLayout.LayoutParams的一部分,而不是LinearLayout本身。 有一个构造函数采用第三个参数表示layout_weight。
http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#weight
- 适用于Android的SAML客户端?
- android studio和netbeans中输入扫描程序和解析的不同行为
- 设置android相机发送灰度图像
- 如何停止在CollapsingToolbarLayout上滚动,以便它不会完全崩溃
- Android Tab Fragment(Eclipse ApI 22)中不推荐使用ActionBarActivity和ActionBar.TabListener
- 在Android上限制语音识别结果
- OutOfMemoryError:接收2.3 MB的XML响应时
- Android模拟器不再起作用了
- httpClient.execute中的ClientProtocolException(httpget,responseHandler)