В прошлой статье (Написание простого приложения для Android. Часть 1.) было показано, как создать приложение с элементом WebView для просмотра одного сайта. Она находится по адресу: https://zen.yandex.ru/media/id/6238757a33088457ef113ea0/napisanie-prostogo-prilojeniia-dlia-android-chast-1-62e1047bb6b2dd2c6c224773
Предлагаю создать 4 кнопки под элементом WebView, каждая из которых открывает один из сайтов:
1. Откройте файл MainActivity.java проекта CTSinfo (если его нет, то перейдите на Часть 1 и создайте его) и вставьте среди строк, начинающихся на "import", следующие (Рис. 1):
import android.widget.LinearLayout;
import android.widget.Button;
import android.view.View;
2. В этом же файле MainActivity.java вместо строки setContentView(webView); вставьте следующие (Рис. 2):
!!! Имейте в виду, что если вы не закомментируете (или не удалите) строку "setContentView(webView);", то приложение при запуске выдаст сообщение об ошибке !!!
//setContentView(webView);
LinearLayout buttonsView = new LinearLayout(this);
buttonsView.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); // Verbose!
lp2.setMargins(0, 0, 0, 0);
lp2.weight = 0.1f; // This is critical. Doesn't work without it.
LinearLayout.LayoutParams lpW = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); // Verbose!
lpW.setMargins(10, 10, 10, 10);
lpW.weight = 1.0f; // This is critical. Doesn't work without it.
buttonsView.addView(webView, lpW);
LinearLayout row2 = new LinearLayout(this);
row2.setOrientation(LinearLayout.HORIZONTAL);
row2.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
Button btnInfo1 = new Button(this);
btnInfo1.setText("Info1");
btnInfo1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://electrofind.ru/");
}
});
row2.addView(btnInfo1, lp2);
Button btnInfo2 = new Button(this);
btnInfo2.setText("Info2");
btnInfo2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://vpayaem.ru/");
}
});
row2.addView(btnInfo2, lp2);
Button btnInfo3 = new Button(this);
btnInfo3.setText("Info3");
btnInfo3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://lampagid.ru/");
}
});
row2.addView(btnInfo3, lp2);
Button btnInfo4 = new Button(this);
btnInfo4.setText("Info4");
btnInfo4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://sdi-tool.org/");
}
});
row2.addView(btnInfo4, lp2);
buttonsView.addView(row2, lp2);
setContentView(buttonsView, lpW);
Текст файла MainActivity.java можно скачать по адресу: https://tablepedia.com/part2-MainActivity.txt
Если вы запустите приложение в эмуляторе, то результат будет такой:
Теперь можно сделать пиктограмму (иконку) приложения. Для этого нужно на левой панели открыть меню правой кнопкой мыши (или тачпада):
res -> New -> Image Asset (Рис. 4).
В моём случае это файл CTSinfo.png (Рис. 5). После загрузки файла нужно нажать кнопку Next, а на следующем экране - кнопку Finish.