안에 LinearLayout이있는 ScrollView를 만들고 싶습니다. 선형 레이아웃 배경 CYAN이 6보기를 포함, BLUE는, 시안, 블루 등 ...이 코드입니다 :안드로이드 - LinearLayout으로 ScrollView 만들기
public class TouchActivity extends Activity
{
TouchedView TouchView;
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
TouchView = new TouchedView(this);
TouchView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT));
//setContentView(TouchView);
setContentView(TouchView.ViewLayout);
}
class TouchedView extends ScrollView
{
LinearLayout ViewLayout;
ListElement Elem1;
ListElement Elem2;
ListElement Elem3;
ListElement Elem4;
ListElement Elem5;
ListElement Elem6;
public TouchedView(Context context)
{
super(context);
ViewLayout = new TableLayout(TouchActivity.this);
ViewLayout.setOrientation(LinearLayout.VERTICAL);
Elem1 = new ListElement(TouchActivity.this , "CYAN");
Elem1.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT , 100));
Elem2 = new ListElement(TouchActivity.this , "BLUE");
Elem2.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT , 100));
Elem3 = new ListElement(TouchActivity.this , "CYAN");
Elem3.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT , 100));
Elem4 = new ListElement(TouchActivity.this , "BLUE");
Elem4.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT , 100));
Elem5 = new ListElement(TouchActivity.this , "CYAN");
Elem5.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT , 100));
Elem6 = new ListElement(TouchActivity.this , "BLUE");
Elem6.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT , 100));
ViewLayout.addView(Elem1);
ViewLayout.addView(Elem2);
ViewLayout.addView(Elem3);
ViewLayout.addView(Elem4);
ViewLayout.addView(Elem5);
ViewLayout.addView(Elem6);
setFillViewport(false);
setContentView(ViewLayout);
}
}
class ListElement extends View
{
public ListElement(Context context , String TypeName)
{
super(context);
if(TypeName.compareTo("CYAN") == 0) this.setBackgroundColor(Color.CYAN);
if(TypeName.compareTo("BLUE") == 0) this.setBackgroundColor(Color.BLUE);
}
}
}
결과는 6 뷰가있는 LinearLayout에 포함되기에 너무 큰 점이다 :
http://img513.imageshack.us/img513/5406/androidbadscrollview2.jpg
하지만 setContentView(TouchView.ViewLayout);
코멘트 내가 //setContentView(TouchView);
내 활동이있는 ScrollView 대신 LinearLayout
로 채워 져야 주석을 제거하지만 불행히도 나는 아무것도 볼 수없는 경우. ScrollView
가 대신 u를 원하는 차일을 선언 할 수있는 텍스트 뷰의 http://www.vogella.com/articles/Android/article.html#gridlayout_scrollview
참조 setContentView(ViewLayout);
가 도움 @Thomas K 주셔서 감사합니다 :
다음은 작업 코드입니다! 이 작업은 확실하지만 나는 XML 파일없이 gui를하고 있는데, 활동을 선언하거나 권한을 추가하고 싶지 않다면 말이다. 팁을 따르 겠지만 xml은 다른 언어의 다른 구문을 배워야합니다. 그래서 내가 왜 이럴 수 있니? 수동 작업이 필요한 경우 잘 알고 Java를 사용하고 DroidDraw 및 기타와 같은 자동 설계 도구에 XML을 두는 것을 선호합니다. – Bemipefe