Android как сделать фоновое изображение макета отзывчивым? - PullRequest
0 голосов
/ 30 августа 2018

Я новичок в Android.

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

Я прикрепил изображение желаемого интерфейса и изображение моего предварительного просмотра в формате xml с его кодом.

Как сделать макет более отзывчивым?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dp"
android:background="@color/background"
tools:context=".fragment.Tab2">

<!-- TODO: Update blank fragment layout -->
<ScrollView
    android:id="@+id/digitalView"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true"

    android:scrollbars="none"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="wrap_content"
        android:background="@drawable/bg_text"
        android:gravity="center"
        >
        <TextView
            android:layout_width="wrap_content"
            android:id="@+id/speedTextDigital"
            android:textColor="@android:color/white"
            android:text="00"
            android:maxLength="3"
            android:textSize="90sp"
            android:gravity="center"
            android:layout_height="wrap_content"

            />

        <TextView

            android:id="@+id/unit"
            android:layout_marginTop="0dp"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="KM/H"
            android:textSize="30sp"
            android:textColor="@android:color/white"/>
    </LinearLayout>

    </ScrollView>

</RelativeLayout>

Пользовательский интерфейс, который я хочу сделать:

This Image is UI which I want to make

Пользовательский интерфейс, который я получаю сейчас:

This image is created by me but it's not responsive

1 Ответ

0 голосов
/ 30 августа 2018

Если вы хотите сделать фоновое изображение кликабельным, вам нужно выполнить следующие шаги:

1.Добавьте идентификатор к вашему представлению, скажем, вы используете ImageView:

 <ImageView
    android:layout_width="match_parent"
    android:id="@+id/image_to_click"
    android:layout_height="match_parent"
    android:src="@drawable/xxx"
    android:scaleType="centerCrop"
    />

2. Затем перейдите к своей деятельности (связанной с макетом, в котором вы добавили представление) и реализуйте интерфейс onClickListener:

public class MainActivity extends AppCompatActivity implements View.OnClickListener

3. Теперь вам нужно реализовать его метод:

 @Override
public void onClick(View view) {      
    switch (view.getId()) {

      case R.id.image_to_click:  /*this is id from xml file (layout)*/
          /*put action you want to get after clicking on image*/
          break; 
     } 
  }

4.Последнее, добавьте эти два метода в метод onCreate в своей Деятельности:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      imageView=findViewById(R.id.image_to_click);
      advancedButton.setOnClickListener(this); }

Это сделает работу, это не единственный способ, которым вы можете обрабатывать клики по представлениям, но шаблон в большинстве случаев похож.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...