我可以在Nutiteq
中填充ViewLabel的视图,但我无法在此版面的文本视图中设置正确的文字。
我的代码正在关注
//Setting Popup Label if we click the area
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View labelView = inflater.inflate(R.layout.popup_field, null);
//In order to get a dynamic "redimensionable" Ballon aka ViewLabel
labelView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
labelView.layout(0, 0, labelView.getMeasuredWidth(), labelView.getMeasuredHeight());
//labelView.measure(400, 400);
//labelView.layout(100, 100, 400, 400);
Log.info("drawField:: Nach Label fieldLabel = new ViewLabel... ");
LinearLayout lLayout = (LinearLayout)labelView.findViewById(R.id.layout1);
lLayout.setBackgroundColor(Color.RED);
TextView farmNameTV = (TextView)labelView.findViewById(R.id.farmName);
TextView areaTV = (TextView)labelView.findViewById(R.id.area);
TextView statusTV = (TextView)labelView.findViewById(R.id.status);
farmNameTV.setTextColor(Color.BLACK);
farmNameTV.setText("Farm CacoCaCoca");
areaTV.setTextColor(Color.BLACK);
String areaString = "12.34"
areaTV.setText("Area "+areaString);
statusTV.setTextColor(Color.BLACK);
String statusString = "Status:::qwertzuiopasdfghjklyxcvbnm";
statusTV.setText(statusString);
*你可以看到红色是我膨胀的观点。
R.layout.popup_field
看起来像这样
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/farmName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/farmName"/>
<TextView
android:id="@+id/area"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/area"/>
<TextView
android:id="@+id/status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/status"/>
字符串
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Nutiteq3D</string>
<string name="area">Area</string>
<string name="status">Status</string>
<string name="farmName">Farm Name</string>
</resources>
有没有人完成这项任务?任何人都可以帮我找出我的错误吗?
使用谷歌Api的MapView很容易,但是我用Nutiteq和纯粹的活动来开发它,所以,没有片段和膨胀我们通常需要一个ViewGroup,而G-Api下的这个ViewGroup将是MapView,所以继承自ViewGroup但在Nutiteq不是这样的,Nutiteq的MapView继承了android.view并且我无法投射,我可以在null
的调用中将inflate
分配为View {{1}},如您所见。
所以,人们,我非常感谢你的帮助。
亲切的问候
答案 0 :(得分:2)
解决!
它与ViewLabel
没有关系,而是正常的Android.View
,我想在声明可调整大小的View
之后将Text分配给TextView,因此它不能正常工作。
所以解决方案是编写上面的所有tv.setText
labelView.measure(MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED));
labelView.layout(0,0,labelView.getMeasuredWidth(),labelView.getMeasuredHeight());