Поместите растровую вкладку в любую позицию - PullRequest
1 голос
/ 09 января 2011

Привет всем, я настроил макет вкладки, чтобы каждая вкладка была моим собственным растровым изображением.Это основной java-файл:

public class HelloTabWidget1 extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    Resources res = getResources();
    TabHost tabHost = getTabHost();
    TabHost.TabSpec spec;
    Intent intent;

    intent = new Intent().setClass(this, ArtistsActivity.class);       
    ImageView imgView1 = new ImageView(this);
    BitmapDrawable bmd1 = new BitmapDrawable();
    bmd1 = (BitmapDrawable) res.getDrawable(R.drawable.blue);
    imgView1.setImageDrawable(bmd1);
 spec = tabHost.newTabSpec("firsttab").setIndicator(imgView1)
 .setContent(intent);
 tabHost.addTab(spec);

    intent = new Intent().setClass(this, AlbumsActivity.class);       
    ImageView imgView2 = new ImageView(this);
    BitmapDrawable bmd2 = new BitmapDrawable();
        bmd2 = (BitmapDrawable) res.getDrawable(R.drawable.pink);
        imgView2.setImageDrawable(bmd2);
        spec = tabHost.newTabSpec("secondtab").setIndicator(imgView2)
        .setContent(intent);
        tabHost.addTab(spec);

    intent = new Intent().setClass(this, SongsActivity.class);       
    ImageView imgView3 = new ImageView(this);
        BitmapDrawable bmd3 = new BitmapDrawable();
            bmd3 = (BitmapDrawable) res.getDrawable(R.drawable.purple);
            imgView3.setImageDrawable(bmd3);
            spec = tabHost.newTabSpec("thirdtab").setIndicator(imgView3)
            .setContent(intent);
            tabHost.addTab(spec);

            intent = new Intent().setClass(this, Forthtab.class);       
            ImageView imgView4 = new ImageView(this);
                BitmapDrawable bmd4 = new BitmapDrawable();
                    bmd4 = (BitmapDrawable) res.getDrawable(R.drawable.red);
                    imgView4.setImageDrawable(bmd4);
                    spec = tabHost.newTabSpec("forthtab").setIndicator(imgView4)
                    .setContent(intent);
                    tabHost.addTab(spec);



    tabHost.setCurrentTab(0);
}

}

Я могу получить любое растровое изображение в качестве вкладки, проблема в том, что мои оригинальные растровые изображения были слишком малы, чтобы их увидетьЯ увеличил их размер, вкладки оказываются в середине экрана с огромным пустым черным пространством над ним.Когда я щелкаю черное пространство, оно соответственно меняет вкладки.Есть ли способ поместить его обратно в самый верх и заставить каждое растровое изображение заполнять вкладку?

1 Ответ

0 голосов
/ 09 января 2011

Мне удалось найти временное решение.Я в основном сохранил код точно таким же, но поиграл с моими файлами изображений.Я изменил свои растровые изображения на png-файлы, но важно отметить, что здесь выглядит так, как будто система Android имеет чрезвычайно чувствительную систему для значков вкладок.Поскольку я говорил, что это временное решение, я планирую поиграть с ним больше.

Единственное, что мне сейчас нужно, - это подключить вкладки, используя значки png при рекомендуемой Google настройке 48 x 48 пикселей,но значки вкладок не трогают.Ищите решение, чтобы они соприкасались, чтобы они были рядом друг с другом.

...