2013-03-14 2 views
0

libgdxs scrollpane 컨트롤이 작동하는 데 문제가 있습니다. 아래 코드는 레이블이있는 간단한 레이아웃, 스크롤 패널 안에있는 항목 목록 및 버튼에 대한 컨트롤 설정을 보여줍니다. 문제는 내 스크롤 창에 vScroll/vScrollKnob ninepatch (작은 흰색 사각형) 이외의 다른 것을 표시하지 않는다는 것입니다. libgdx scrollpane이 표시되지 않습니다.

screenshot입니다. 내가없는 사용자에게 스크롤 창을하고 같은 테이블에 직접 목록을 추가 할 경우 예상대로 작동

 private void setupLayout() 
{ 
    String[] listEntries = {"1","2","3","4","5"}; 
    ListStyle listStyle = new ListStyle(); 
    NinePatch example = new NinePatch(new Texture(Gdx.files.internal("data/example.9.png")));  
    listStyle.selectedPatch = example; 
    listStyle.font = new BitmapFont(); 
    mList = new List(listEntries,listStyle); 

    ScrollPaneStyle paneStyle = new ScrollPaneStyle(); 
    paneStyle.vScroll = example; 
    paneStyle.vScrollKnob = example;   
    mListScroll = new ScrollPane(mList,paneStyle); 
    mListScroll.setScrollingDisabled(true, false); 
    mListScroll.width = 500; 
    mListScroll.height = 500; 

    LabelStyle ls = new LabelStyle(); 
    ls.font = new BitmapFont(); 
    ls.fontColor = new Color(1.0f, 1.0f, 1.0f, 1.0f); 
    mLabel = new Label("Label", ls);  

    TextButtonStyle buttonStyle = new TextButtonStyle(); 
    buttonStyle.font = new BitmapFont(); 
    mButton = new TextButton("Button",buttonStyle); 

    Table table = new Table(); 
    table.add(mLabel); 
    table.row(); 
    table.add(mButton); 
    table.row(); 
    table.add(mListScroll); 
    mStage.addActor(table); 
} 

:

Table table = new Table(); 
    table.add(mLabel); 
    table.row(); 
    table.add(mButton); 
    table.row(); 
    table.add(mList);    //changed mListScroll(scrollpane class) to mList(List class) 
    mStage.addActor(table); 

screenshot

을하지만 그것이 밖으로 확장됩니다 너무 많은 항목이있을 때 내 화면의 아래쪽. 여기서 내가 뭘 잘못하고 있니? scrollpane에 설정해야 할 다른 매개 변수가 있습니까?

답변

1

나는 테이블에 물건을 추가하는 방법에 문제가 있다고 생각합니다. 더 자세한 설명은 TableLayout 참조 자세한 내용은

Table table = new Table(); 
table.add(mLabel); 
table.row(); 
table.add(mButton); 
table.row(); 

// Changing the table layout size itself. 
table.add(mListScroll).size(500, 500); 

mStage.addActor(table); 

오브젝트를 배치하기위한 테이블을 사용하는 방법을 여기에 빠른 시작이 당신을 더 보여줍니다 내가 대신 당신이 그 일을하는 방법의 다음 코드를 건의 할 것입니다.