2013-08-22 44 views
0

我有出現的佈局時,有沒有應用到它的風格(而不是硬編碼的其他樣式,這適用於這兩種情況下例如顏色&字體)如下:如何修改此主題以防止Button Text與TextView文本重疊?

enter image description here

但它看起來像這個時候我應用樣式:

enter image description here

佈局定義爲:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layout1" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal"> 
    <TextView 
     android:id="@+id/txtBlock" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="[Block Name]" 
     android:textSize="15sp" 
     android:layout_gravity="center" /> 
    <Button 
     android:gravity="left|bottom" 
     android:background="@null" 
     android:text="[Block Status]" 
     android:id="@+id/btnStatus" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/imgAlarm" 
     android:layout_alignParentLeft="true" /> 
    <ImageButton 
     android:id="@id/imgAlarm" 
     android:background="@null" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/alarm" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" /> 
</RelativeLayout> 

和我styles.xml定義爲:

<resources> 

    <!-- Base application theme, dependent on API level. This theme is replaced 
     by AppBaseTheme from res/values-vXX/styles.xml on newer devices. --> 
    <style name="AppBaseTheme" parent="android:Theme.Light"> 
    <!-- Theme customizations available in newer API levels can go in 
      res/values-vXX/styles.xml, while customizations related to 
      backward-compatibility can go here. --> 
    </style> 

    <!-- Application theme. --> 
    <style name="AppTheme" parent="AppBaseTheme"> 
    <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
    </style> 

    <style name="FullscreenTheme" parent="android:Theme.NoTitleBar"> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowBackground">@null</item> 
    </style> 

    <style name="ButtonBar"> 
    <item name="android:paddingLeft">2dp</item> 
    <item name="android:paddingTop">5dp</item> 
    <item name="android:paddingRight">2dp</item> 
    <item name="android:paddingBottom">0dp</item> 
    <item name="android:background">@android:drawable/bottom_bar</item> 
    </style> 

    <style name="ButtonBarButton" /> 

    <style name="keypad_button" > 
    <item name="android:layout_width" >fill_parent</item> 
    <item name="android:layout_height" >wrap_content</item> 
    <item name="android:textColor" >#ffffff</item> 
    <item name="android:gravity" >center</item> 
    <item name="android:textSize" >15sp</item> 
    <item name="android:width">65dp</item> 
    </style> 

    <!--<style name="CustomTheme" parent="@android:style/Theme"> 
    <item name="android:tabWidgetStyle">@style/CustomTabWidget</item> 
    </style> 
    <style name="CustomTabWidget" parent="@android:style/Widget.TabWidget"> 
    <item name="android:textAppearance">@style/CustomTabWidgetText</item> 
    </style> 
    <style name="CustomTabWidgetText" parent="@android:style/TextAppearance.Widget.TabWidget"> 
    <item name="android:textSize">50sp</item> 
    <item name="android:textStyle">bold</item> 
    </style>--> 

</resources> 

什麼我需要做的,以防止文本重疊?

+0

土特產品錯過添加android_layout_below到你的xml按鈕。檢查我的答案。它應該可以解決你的問題 – Sushil

回答

1

變化YOUE這樣的XML:

<Button 
     android:gravity="left|bottom" 
     android:background="@null" 
     android:text="[Block Status]" 
     android:id="@+id/btnStatus" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/txtBlock" 
     android:layout_toLeftOf="@+id/imgAlarm" 
     android:layout_alignParentLeft="true" /> 

只需添加機器人:layout_below = 「@ ID/txtBlock」 給你的XML

1

嘗試線性佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layout1" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal"> 
    <LinearLayout 
     android:id="@+id/layout2" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 
     <TextView 
      android:id="@+id/txtBlock" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="[Block Name]" 
      android:textSize="15sp" 
      android:layout_gravity="center" /> 
     <Button 
      android:gravity="left|bottom" 
      android:background="@null" 
      android:text="[Block Status]" 
      android:id="@+id/btnStatus" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_toLeftOf="@+id/imgAlarm" 
      android:layout_alignParentLeft="true" /> 
    </LinearLayout> 
    <ImageButton 
     android:id="@id/imgAlarm" 
     android:background="@null" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/alarm" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" /> 
</LinearLayout> 
+0

我現在最大的問題是有點小問題。在我的例子中,RelativeLayout是根元素。現在文檔有多個根元素,因此無效。 – DaveDev

+0

請參閱我的答案中的編輯 – 2013-08-22 09:20:50