2012-07-03 1 views
1

Я пытаюсь создать виджет 1x1 для ICS, который отображает текстовую метку под значком и использует стиль текста по умолчанию для устройства, но мне не удается выяснить, как это делается. Я знаю, что это возможно, так как многие виджеты 1x1, которые поставляются вместе с моим Galaxy Nexus, обладают этой функциональностью. Я не хочу жестко закодировать textView в файле макета, так как это сделает его плохой на других устройствах, которые могут использовать разные шрифты и размеры текста и т. Д.Текстовая метка виджетов Android ICS 1x1

У кого-нибудь есть идея?

+0

Вы должны использовать 'android-widget' вместо' widget'. Ваш вопрос будет получать одинаковое внимание в любом случае, я обещаю :) –

+0

@AlexLockwood. Но он, кажется, спрашивает о виджетах рабочего стола, который отличается от определения, указанного в теге Android-виджета (элемент пользовательского интерфейса в приложении Android, например Button, TextView, CheckBox и т. Д.) – FoamyGuy

+0

Хм ... Я думаю, это правда. Но это звучит так, как тег Wiki - проблема ... теперь, когда ICS пришла и ушла, разве вы не думаете, что для этой цели нужно использовать «android-widget»? 'Button',' TextView' и т. Д., Вероятно, должны быть помечены в 'View' в любом случае. Кроме того, «виджет» довольно общий и может применяться к множеству разных вещей. –

ответ

1

Я не думаю, что вы можете поместить TextView в макет. Что вы можете сделать, так это выбрать стиль для него из одного из встроенных стилей Android. Таким образом, он должен соответствовать всем другим значкам/виджетам. Надеюсь, это будет работать и в других версиях API, но я знаю, что он выглядит правильно на моем телефоне ICS. Я также не уверен, что лучше всего использовать здесь FrameLayout, но я думал, что немного поработаю. Важной частью является TextView в конце.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 
    <FrameLayout 
     android:id="@+id/FrameLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" > 
     <ImageButton 
      android:id="@+id/buttonimg" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@drawable/appwidget_dark_bg_clickable" 
      android:clickable="true" 
      android:contentDescription="@string/app_name" /> 
     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:contentDescription="@string/app_name" 
      android:src="@drawable/arrow_dark" /> 
    </FrameLayout> 
    <TextView 
     android:id="@+id/labelTextView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:textAppearance="@android:style/TextAppearance.DeviceDefault.Widget" 
     android:text="@string/widgetlabeldefault" /> 
</LinearLayout> 
+0

спасибо, это сработало для меня .. –

 Смежные вопросы

  • Нет связанных вопросов^_^