Как сделать вид как всегда сверху?
У меня есть TextView
и его на изображении. Когда я нажимаю кнопку, TextView
Цвет фона изменится, но изображение не исчезнет. Например;
мой TextView
в начале:
Когда я нажимаю кнопку:
4 ответа
Если вы хотите сделать это, используя только один TextView
тогда это может быть невозможно. Итак, я предлагаю вам сделать это с помощью FrameLayout
, Вы можете написать свой макет, как показано ниже.
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFFFFF" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</FrameLayout>
Когда вы хотите изменить цвет позади TextView
затем измените ImageView
фон, как показано ниже...
ImageView mageView view = (ImageView) findViewById(R.id.image);
view.setBackgroundColor(Color.BLUE);
Если это должен быть TextView и ImageView, вы также можете обернуть его в FrameLayout (который должен содержать только один дочерний элемент). FrameLayout поместит все содержащие дочерние элементы в одно и то же "место", поэтому они будут перекрываться.
Или, когда вам нужно больше элементов, вы также можете использовать RelativeLayout и дать вашим элементам те же правила компоновки (например, все по центру).
Вы должны использовать ImageView вместо TextView, то:
public void onClick(View v){
imageView.setBackgroundColor(Color.GREEN);
}
ImageButton - лучший вариант для вас. Источник изображения будет звёздным, как вы сказали. Затем при нажатии вы меняете фон. если хотите установить текст в этом
android:drawableTop="@drawable/any_drawable"
android:text="@string/any_text"