在PreferenceFragment中更改特定首选项屏幕的文本颜色

时间:2017-07-25 19:04:10

标签: android layout textview preferenceactivity preferencefragment

所以目前我有一个PreferenceFragment,其中有几个首选项,如下所示:

<PreferenceScreen xmlns:tools="http://schemas.android.com/tools"
              xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory
        android:title="menu"
        android:key="menu">

        <PreferenceScreen
            android:title="pref1"
            android:key="pref1" />

        <PreferenceScreen
            android:title="pref2"
            android:key="pref2" />
    </PreferenceCategory>
</PreferenceScreen>

如果我想改变&#34; pref2&#34;的颜色所以它可以是红色的,我该怎么做?我看了几个不同的解决方案。其中之一是创建自己的布局。所以我试过了:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

    <TextView
        android:textColor="#FF0000"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="pref2"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"/>
</RelativeLayout>

它不起作用,因为边距是关闭的,高度被包裹而不是匹配的父级,并且大小似乎也是关闭的。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果有人想知道,我发现的hacky解决方案是在TextView的文本大小,边距和高度中创建RelativeLayout和硬编码

query = """INSERT INTO table (col1, col2, col3, col4, col5) VALUES (%s, %s, %s, %s, %s)"""
    for r in range(1, sheet.nrows):
        col1 = sheet.cell(r,0).value
        col2 = sheet.cell(r,1).value
        col3 = sheet.cell(r,2).value
        col4 = sheet.cell(r,3).value

        col5       = sheet.cell(r,4).value
        #col5 = xlrd.xldate.xldate_as_datetime(sheet.cell(r,4).value, book.datemode)

        # Assign values from each row
        values = (col1, col2, col3, col4, col5)

        # Execute sql Query
        cursor.execute(query, values)

    # Close the cursor
    cursor.close()

    # Commit the transaction
    con.commit()