Наложение текста с цветом фона скрывает изображение на Android? - PullRequest
1 голос
/ 21 июля 2011

В Android я пытаюсь создать динамический просмотрщик изображений, который переворачивает изображения, и в нижней части каждого изображения я отображаю некоторую информацию об изображении, максимум 1 или 2 строки текста. Я хочу дать области, которая отображает текст, уникальный цвет фона, чтобы он мог встать. Все работает хорошо, за исключением одной вещи, когда я установил цвет для TextView, чтобы сказать «Черный», я получаю весь экран черный, покрывающий изображение! и не только область TextView. Пожалуйста, помните, что я создаю все динамически, как я делаю ниже:

imageFrame = new FrameLayout(this);

Viewer = new ImageView(this);

imageInfo = new TextView(this);
imageInfo.setHeight(imageInfo.getLineHeight()); imageInfo.setGravity(Gravity.BOTTOM);
imageInfo.setBackgroundColor(Color.CYAN);
imageFrame.addView(Viewer);
imageFrame.addView(imageInfo);

Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 21 июля 2011

Если вы используете FrameLayout, вам нужно знать, что элементы, которые вставляются, укладываются друг в друга.Вам нужно использовать LinearLayout или RelativeLayout и т. Д., Если вы не хотите их складывать.

0 голосов
/ 21 июля 2011

Возможно, вы захотите динамически установить высоту и ширину.Я предполагаю, что ширина и высота textview установлены как fill_parent.Если это не сработает, попробуйте добавить элементы в imageFrame в другом порядке.

Ниже описано, как вам нужно динамически устанавливать ширину для каждого текстового просмотра.

TextView tv = (TextView) findViewById(R.id.yourtextviewname)
ViewGroup.LayoutParams vg1 = (ViewGroup.LayoutParams) tv.getLayoutParams();
vg1.width = 100;

tv.setLayoutParams(vg1);

Также попробуйте сделатьлинейный макет корневого элемента внутри макета вашего кадра.Затем поместите вид текста и изображение в линейный макет.

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