HorizontalScrollViewの子Viewを右詰めにする


HorizontalScrollViewView
View
HorizontalScrollView便


HorizontalTest.java

public class HorizontalTest extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        HorizontalScrollView hsv = new HorizontalScrollView(this);
        
        LinearLayout l1 = new LinearLayout(this);
        l1.setBackgroundColor(Color.RED);

        for ( int i = 0; i < 2; i++) {
            Button btn = new Button(this);
            btn.setText(String.valueOf(i+1));
            l1.addView(btn, new LayoutParams(80, LayoutParams.WRAP_CONTENT));
        }
        
        hsv.addView(l1);
        this.setContentView(hsv, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    }
}
//コンテナとなるLinearLayout(l1)の位置とサイズが分かりやすいように、背景に色をつけている。





Button

HorizontalScrollViewFrameLayoutsetGravity(HorizontalScrollViewsetForegroundGravityViewDrawableGravity()LinearLayout使)

LinearLayoutHorizontalScrollView使setGravity(Gravity.RIGHT)


HorizontalTest.java ()

public class HorizontalTest extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LinearLayout l0 = new LinearLayout(this);
        l0.setBackgroundColor(Color.RED);
        l0.setGravity(Gravity.RIGHT);
        HorizontalScrollView hsv = new HorizontalScrollView(this);
        
        LinearLayout l1 = new LinearLayout(this);
        l1.setBackgroundColor(Color.RED);

        for ( int i = 0; i < 2; i++) {
            Button btn = new Button(this);
            btn.setText(String.valueOf(i+1));
            l1.addView(btn, new LayoutParams(80, LayoutParams.WRAP_CONTENT));
        }
        
        hsv.addView(l1, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
        l0.addView(hsv);
        
        setContentView(l0, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));    
    }
}






View