Я хочу разместить логотип слева вверху на изображении.Изображение не может быть масштабировано или тип масштаба не может быть назначен.Изображение должно быть в своем первоначальном размере.Логотип всегда должен быть в левом верхнем углу изображения на всех экранах.
MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
ViewPager viewPager = findViewById(R.id.imgviewPager);
List<String> imagesList = new ArrayList<>();
imagesList.add("http://images.unsplash.com/photo-1503919545889-aef636e10ad4?ixlib=rb-0.3.5&q=80&fm=jpg");
imagesList.add("http://images.unsplash.com/photo-1533738699159-d0c68059bb61?ixlib=rb-0.3.5&q=80&fm=jpg");
imagesList.add("http://images.unsplash.com/photo-1500462918059-b1a0cb512f1d?ixlib=rb-0.3.5&q=80&fm=jpg");
imagesList.add("http://images.unsplash.com/photo-1516474504835-58236f241ee8?ixlib=rb-0.3.5&q=80&fm=jpg");
viewPager.setAdapter(new CustomPagerAdapter(this,imagesList));
}
Пользовательский адаптер
class CustomPagerAdapter extends PagerAdapter {
private Context mContext;
private List<String> imgs;
public CustomPagerAdapter(Context context,List<String> img) {
mContext = context;
imgs = img;
}
@Override
public Object instantiateItem(ViewGroup collection, int position) {
LayoutInflater inflater = LayoutInflater.from(mContext);
ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.image_item, collection, false);
collection.addView(layout);
ImageView imageView = layout.findViewById(R.id.img);
Picasso.get().load(imgs.get(position)).into(imageView);
return layout;
}
@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
collection.removeView((View) view);
}
@Override
public int getCount() {
return imgs.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public CharSequence getPageTitle(int position) {
return "";
}
Элемент ImageAdapter
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|bottom">
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@mipmap/ic_launcher"/>
</RelativeLayout>
</LinearLayout>
Стиль
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowDrawsSystemBarBackgrounds" tools:ignore="NewApi">true</item>
<item name="android:statusBarColor" tools:ignore="NewApi">@android:color/transparent</item>
</style>
В настоящее время код написан так, что все размеры экрана жестко запрограммированы в коде, а логотип настроен для каждого размера экрана.,Размеры изображений одинаковы (1080px x 1620px).Но это не масштабируемый подход для новых устройств, которые появляются на рынке.
![](https://i.stack.imgur.com/GjLyC.jpg)
![](https://i.stack.imgur.com/WaUUS.jpg)