0

我对 textviews/edittexts 中的所有文本都有问题。应用程序进入后台,除了回到我的应用程序之外,我在手机上使用的其他应用程序很少,所有文本(在每个活动上)都消失了。所有文本都在 string.xml 的布局 xml 文件中设置。我在 log cat 中没有任何错误。有什么问题?

谢谢

4

2 回答 2

0

从活动

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.information);

    String versionName = null;

    try {
        versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }

    if(versionName != null) {
        ResizableTextView versionNumberView = (ResizableTextView) findViewById(R.id.information_version_number);
        versionNumberView.setText(version);
    }
}

在清单中:

<activity
    android:name="pl.sf.mobile.activities.InformationActivity"
        android:screenOrientation="portrait" >
</activity>

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg1"
    android:orientation="vertical"
    android:weightSum="90" >

        <include
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="10"
            layout="@layout/title_bar" />

        <LinearLayout
            android:id="@+id/information_version"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="10"
            android:background="@color/gray_light"
            android:gravity="center"
            android:orientation="horizontal"
            android:weightSum="100" >

            <pl.sf.mobile.components.ResizableTextView
                android:id="@+id/information_version"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="75"
                android:gravity="center_vertical"
                android:text="@string/version"
                android:textColor="@color/black"
                android:textSize="23px"
                android:textStyle="bold" />

            <pl.sf.mobile.components.ResizableTextView
                android:id="@+id/information_version_number"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="15"
                android:gravity="center"
                android:orientation="vertical"
                android:textColor="@color/black"
                android:textSize="23px"
                android:textStyle="bold"
                android:visibility="visible" />
        </LinearLayout>


</LinearLayout>

可调整大小的TextView

public class ResizableTextView extends TextView {

    private float sizeF = 0;

    public ResizableTextView(Context context) {
        super(context);
        resizeTextFont();
    }

    public ResizableTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        resizeTextFont();
    }

    public ResizableTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        resizeTextFont();
    }

    private void resizeTextFont() {

        if (sizeF == 0)
            sizeF = getTextSize();

        float newSize = sizeF * Params.SCALED_WIDTH;
        setTextSize(TypedValue.COMPLEX_UNIT_PX, newSize);
        invalidate();
    }
}
于 2013-06-11T12:34:46.683 回答
0

请分享您正在使用的代码。描述非常简短。顺便说一句,您可以查看此链接如何在方向更改时使用 onSaveInstanceState 和 onRestoreInstanceState 保存状态

于 2013-06-06T08:19:40.273 回答