2015-05-12 1 views
0

enter image description hereAndroid Layout выравнивание полов значка с возрастом на facebox

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

Paint paint = new Paint(); 
paint.setTextAlign(Paint.Align.CENTER); 
Canvas canvas = new Canvas(bitmap); 
canvas.drawRect(left, top, left + width, top + height, paint); 
canvas.drawText(myText, left + width/2,(float) (top - 10), paint); 

Теперь я пытаюсь выровнять значок пола с возрастом текста внутри изображения, где отображается возраст. Другая проблема - обнаружение лица может быть небольшим, как я могу изменить размер моего TextView (значок + возраст) соответственно.

TextView txtView=new TextView(getApplicationContext()); 
    txtView.setText(String.valueOf((int)json.getDouble("age"))); 
    txtView.setTextColor(getResources().getColor(R.color.red)); 
    txtView.setBackgroundColor(getResources().getColor(R.color.grey_dark)); 
    if (json.getDouble("sex") >= 0.5) { 
     txtView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.maleicon, 0, 0, 0); 
    } else { 
     txtView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.femaleicon, 0, 0, 0); 
    } 
    LayoutParams layoutParams = new LayoutParams(150, 110); 
    txtView.setLayoutParams(layoutParams); 
    LL.addView(txtView); 

ответ

0

использовать framelayout (relativelayout over image) и выровнять его. затем измените размер изображения по-разному и поместите его в linearlayout с текстом.

+0

Спасибо, я попробовал, следуя вашей инструкции, он все еще не выровнен хорошо http://tinypic.com/r/16i8x7o/8 любезно дайте мне подсказку для выравнивания –

+0

В relativelayout вы можете выровнять linearlayout (значок возраста + пол) над представлением окна холста. использовать ............. android: layout_above http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_above –