Добавьте цвет переднего плана и центральный значок в интерактивный вид - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь добиться чего-то подобного! Альтернатива флажку Как мне этого добиться?

Я попытался создать чертеж с центральным значком и прозрачным фоном, но значок масштабируется, чтобы заполнить вид, когда для рисованного объекта установлено значениеview foreground.

Также отсутствует поддержка метода setForground для уровня API ниже 23

Я намерен добиться этого динамически при нажатии на представление.Пожалуйста, помогите !!!

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

для достижения этого вида используйте относительный макет , как показано ниже код

<?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:gravity="center"
android:orientation="vertical">


<RelativeLayout
    android:layout_width="90dp"
    android:layout_height="120dp">

    <ImageView
         android:id="@+id/image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/demo_img_4" />

    <LinearLayout
        android:id="@+id/transp_ll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#30000000"
        android:gravity="center">

        <ImageView
             android:id="@+id/delete_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_delete_black_24dp" />
    </LinearLayout>
</RelativeLayout>
</LinearLayout>

MainActivity.java

  @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //initialize views
    setContentView(R.layout.activity_main);
    image_view = findViewById(R.id.image_view);
    delete_btn = findViewById(R.id.delete_btn);
    transp_ll = findViewById(R.id.transp_ll);

    //set transparent layout visibility gone
    transp_ll.setVisibility(View.GONE);

    //set click listener
    image_view.setOnClickListener(this);
    delete_btn.setOnClickListener(this);
}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.delete_btn:
            //write here delete button click functionality..
            transp_ll.setVisibility(View.GONE);
            break;
        case R.id.image_view:
            transp_ll.setVisibility(View.VISIBLE);
            break;
    }
}

enter image description here enter image description here

0 голосов
/ 18 февраля 2019

Вы должны добавить прозрачный вид, который соответствует родительским размерам, и добавить изображение в его центре.Вы можете настроить уровень прозрачности, чтобы получить желаемый эффект

...