def __init__(self, context, locationHandler): RelativeLayout.__init__(self, context) self.currentItem = -1 self.mode = "normal" self.locationHandler = locationHandler self.adapter = self.getAdapter() self.listView = ListView(context) self.listView.setAdapter(self.adapter) self.listView.setOnItemClickListener(self) self.listView.setOnItemLongClickListener(self) self.addWidget = AddWidget(context, self) self.addWidget.setId(1) self.removeWidget = RemoveWidget(context, self) listParams = RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) listParams.addRule(RelativeLayout.ALIGN_PARENT_TOP) listParams.addRule(RelativeLayout.ABOVE, 1) self.addView(self.listView, listParams) self.addView(self.addWidget, self.getAddParams())
def __init__(self, context): RelativeLayout.__init__(self, context) # This getColor call deprecated in API level 23. self.lightBackground = context.getResources().getColor( android.R.color.background_light) self.darkText = 0xff000000 # Header header = LinearLayout(context) header.setOrientation(LinearLayout.VERTICAL) header.setId(1) self.placeLabel = TextView(context) self.placeLabel.setTextSize(self.placeLabel.getTextSize() * 1.5) self.placeLabel.setGravity(Gravity.CENTER) headerLine = View(context) headerLine.setBackgroundColor(self.lightBackground) headerLineParams = LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, 1) # 1 pixel in height header.addView(self.placeLabel) header.addView(headerLine, headerLineParams) # Middle - containing the forecast layout self.scrollView = ScrollView(context) self.scrollView.setId(2) # Footer footer = LinearLayout(context) footer.setOrientation(LinearLayout.VERTICAL) footer.setId(3) footerLine = View(context) footerLine.setBackgroundColor(self.lightBackground) footerLineParams = LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, 1) # 1 pixel in height self.creditLabel = TextView(context) footer.addView(footerLine, footerLineParams) footer.addView(self.creditLabel) # The forecast layout self.forecastLayout = LinearLayout(context) self.forecastLayout.setOrientation(LinearLayout.VERTICAL) self.scrollView.addView(self.forecastLayout) # Layout parameters headerParams = RelativeLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) headerParams.addRule(RelativeLayout.ALIGN_PARENT_TOP) headerParams.addRule(RelativeLayout.CENTER_HORIZONTAL) scrollParams = RelativeLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) scrollParams.addRule(RelativeLayout.CENTER_HORIZONTAL) scrollParams.addRule(RelativeLayout.BELOW, 1) scrollParams.addRule(RelativeLayout.ABOVE, 3) footerParams = RelativeLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) footerParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM) self.addView(header, headerParams) self.addView(self.scrollView, scrollParams) self.addView(footer, footerParams)