В RecyclerView ,макет которого состоит из текста + изображения некоторые ImageView криво располагаются. Как я понял, это связано с RecyclerView, т.к. при использовании ListView подобных проблем не возникало. Вот код активности:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
import java.util.List;
public class vrasd2 extends AppCompatActivity {
ArrayList<Phone> phones = new ArrayList<>();
String stre[] = {"Средняя общеобразовательная школа № 60 распахнула свои двери в 1976 году. Строительство новой школы началось в 1974 году. Заказчиком столь важного объекта социальной инфраструктуры выступил Уфимский моторостроительный завод, директором которого в этот период был Герой Социалистического Труда Михаил Алексеевич Ферин (1907 – 1979). Лето 1976 года выдалось у строителей особенно «жарким»: возводить школу помогали ее будущие учителя и ученики.\n" +
"5 сентября 1976 г. состоялся торжественный митинг с участием строителей данного объекта. Первый директор Вениамин Иванович Корзников получил символический ключ от школы, а учащиеся дали клятву беречь, хранить и содержать школу в отличном состоянии.","По меркам того времени, школа представляла собой полностью отвечающий всем требованиям инновационный образовательный центр. Новая школа с радостью была встречена жителями микрорайона, ведь их детям приходилось учиться в школе № 51 в три смены.\n" + "Первый директор Вениамин Иванович Корзников (ученики знали его как Виктора Ивановича) родился в крестьянской семье, до войны работал станочником на заводе. В годы Великой Отечественной войны он служил на кораблях Амурской Краснознаменной флотилии на Дальнем Востоке, участвовал в боях с японцами в Маньчжурии.\n" +
"Работать в школу пришел в 1953 году после окончания педагогического института учителем математики и физики. Вениамин Иванович проработал директором школы с 1976 по 1985 гг. Тысячи учеников и десятки учителей с благодарностью вспоминают требовательного, справедливого, умного и доброго директора. Про первого директора говорили, что у него «На первом месте школа, на втором – школа, на третьем – школа». За отлично построенную систему работы он неоднократно награждался почетными грамотами, ему присвоены звания «Заслуженный учитель Республики Башкортостан» и «Отличник просвещения Российской Федерации».","Первыми заместителями директора по учебно-воспитательной работе стали Тамара Петровна Пайкина и Тамара Дмитриевна Старцева, которые вложили много сил и знаний в создание крепкого и творческого коллектива.\n" +
"Лицей, ОАО «Уфимское моторостроительное производственное объединение» и Уфимский государственный авиационный технический университет объединяют давние, особые и очень теплые взаимоотношения. С 1986 года в стенах нашего лицея созданы группы с углубленным изучением авиаконструирования, затем ставшие знаменитыми Авиационными классами. Интересно отметить, что учащиеся лицея уже в 1980-е годы сдавали вступительные экзамены в Уфимский государственный авиационный технический университет в стенах родной школы и выпускной бал встречали студентами. Наряду с обычными школьными дисциплинами под руководством преподавателей ВУЗа наши учащиеся изучали предметы «Основы автоматики», «Двигатели летательных аппаратов», «История авиации», «Основы авиаконструирования».","В 1993 году между школой и Уфимским государственным нефтяным техническим университетом был заключен договор об открытии класса с изучением специальностей, связанных с нефтедобывающей и нефтеперерабатывающей промышленностью.\n" +
"За достигнутые серьезные успехи в обучении и воспитании подрастающего поколения школе в 1997 году присвоен статус школы-лицея, а в 1999 году статус лицея.","За долгие годы плодотворной работы в лицее создался крепкий работоспособный коллектив. В лицее обучается более 1200 учащихся, работает более 80 педагогов, 20 человек технического персонала. Лицей всегда славился своей фундаментальной подготовкой, что проявляется в самых разнообразных сферах. Мы – всегда победители и призеры в районных, городских и республиканских олимпиадах, конкурсах. Славу лицея куют его обучающиеся. Как только рухнул «железный занавес», лицей выходит на международную образовательную арену. В 1990 – 2000-е годы лицеисты побеждали в международных олимпиадах в Италии, Греции, Болгарии, Турции, Польше и других странах.\n" +
"Лицей гордится, что среди его выпускников ученые, инженеры, врачи, учителя, юристы, военные, журналисты, работники телевидения и т.д. Более 95% выпускников лицея поступают в ведущие ВУЗы Республики Башкортостан и Российской Федерации."};
int imag[] = {R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vrasd2);
setInitialData();
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.rv);
DataAdapter adapter = new DataAdapter(this, phones);
recyclerView.setAdapter(adapter);
}
private void setInitialData(){
for (int i = 0; i < imag.length; i++) {
phones.add(new Phone (stre[i],imag[i]));
}
}
}
Разметка:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/txt123"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#000"
android:textSize="17sp"
android:textStyle="normal" />
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/iv123"
android:scaleType="fitCenter"
android:adjustViewBounds="true"/>
</LinearLayout>
Класс для представления данных:
public class Phone {
private String text;
private int img;
public Phone(String text, int img) {
this.text = text;
this.img = img;
}
public String getText() {
return this.text;
}
public void setText(String text) {
this.text = text;
}
public int getImg() {
return this.img;
}
public void setImg(int img) {
this.img = img;
}
}
И сам адаптер:
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
private LayoutInflater inflater;
private List<Phone> phones;
DataAdapter(Context context, List<Phone> phones) {
this.phones = phones;
this.inflater = LayoutInflater.from(context);
}
@Override
public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.raz4, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(DataAdapter.ViewHolder holder, int position) {
Phone phone = phones.get(position);
holder.nameView.setText(phone.getText());
holder.imageView.setImageResource(phone.getImg());
}
@Override
public int getItemCount() {
return phones.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
final ImageView imageView;
final TextView nameView;
ViewHolder(View view){
super(view);
nameView = (TextView) view.findViewById(R.id.txt123);
imageView = (ImageView)view.findViewById(R.id.iv123);
}
}
}
как выглядят изображения при использовании RecyclerView:
как я хотел бы, чтобы они выглядят (это при использовании ListView, но я не могу использовать его, т.к. он лагает при прокрутке (ViewHolder пробовал)):
заранее спасибо.
Вам надо установить высоту для самой ячейки, и для её TextView
и ImageView
в wrap_content
. Так поместится весь текст и картинка. При этом последняя, не имея заранее заданной высоты будет подстраивать оную под ширину, которая задана во весь экран.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужно реализовать метод getPath так чтобы он возвращал список ребер, путь не обязательно должен быть оптимальным, но должно учитываться isDirected...
Само приложение хотелось бы создавать на Android studioПрошу подсказать с технологиями, которые стоит использовать в создании (напр