我具有延伸活動和獲得它認爲這樣一個類:如何在擴展視圖的類中創建按鈕和圖像視圖?
setContentView((View) viewClass);
viewClass類是從視圖擴展類。
我需要在這個類中實現一些按鈕和圖像視圖。但是如何?
我具有延伸活動和獲得它認爲這樣一個類:如何在擴展視圖的類中創建按鈕和圖像視圖?
setContentView((View) viewClass);
viewClass類是從視圖擴展類。
我需要在這個類中實現一些按鈕和圖像視圖。但是如何?
您需要延長從的ViewGroup或樣的佈局,例如LinearLayout中的自定義視圖,這將幫助你以編程方式從樣活性增加另一個視圖佈局:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout view = new LinearLayout(this);
setContentView(view);
TextView tv = new TextView(this);
tv.setText("asas");
view.addView(tv);
}
}
哦謝謝它的作品:) – user5508330
你可以做類似下面
讓你的主要活動是如下
public class MainActivity extends Activity{
MyView view;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Context ctx = getApplicationContext();
view=new MyView(ctx);
setContentView(view);
}
}
,讓您的視圖類擴展任何容器佈局。
public class MyView extends RelativeLayout{
public MyView(Context context) {
super(context);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
this.setLayoutParams(layoutParams);
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
TextView tv = new TextView(context);
tv.setText("hello");
tv.setId(1);
Button b = new Button(context);
params1.addRule(RelativeLayout.BELOW, tv.getId());
b.setText("Hi");
b.setId(2);
this.addView(tv);
this.addView(b, params1);
}
}
我會嘗試它... – user5508330
該類有這樣的:public viewClass(Context context,AttributeSet attr){}它也有AttributeSet參數。謝謝你的幫助。以上答案解決了我的問題。 – user5508330
爲什麼不從xml設置活動的內容視圖? –
你打算實現什麼? –
您必須重寫onDraw,然後繪製按鈕和圖像,以便獲取按鈕上的事件,則必須在touchlistener內部檢查按下的座標是否位於按鈕區域內。 –