如何在android中以小写显示文本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android中以小写显示文本?相关的知识,希望对你有一定的参考价值。

我尝试在android中实现选项卡。我能够在android中实现选项卡但我的android文本显示在大写。我不想以大写字母显示我的选项卡文本。我们可以用与代码中给出的格式相同的格式显示文本

这是我的清单文件

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Holo">
        <!-- Customize your theme here. -->
        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
        <item name="android:textAllCaps">false</item>
    </style>


</resources>

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.naveen.tabsfavourite" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

java代码

import android.app.ActionBar;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;


public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
    ViewPager viewPager;
    FragmentpagerAdapter fragmentpagerAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final ActionBar actionBar =getActionBar();
        viewPager = (ViewPager) findViewById(R.id.pager);
        fragmentpagerAdapter =new FragmentpagerAdapter(getSupportFragmentManager());
        viewPager.setAdapter(fragmentpagerAdapter);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.addTab(actionBar.newTab().setText("Stations").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("fav Station").setTabListener(this));
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i1) {

            }

            @Override
            public void onPageSelected(int i) {
            actionBar.setSelectedNavigationItem(i);
            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });

    }


    @Override
    public void onTabSelected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {

        viewPager.setCurrentItem(tab.getPosition());

    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {

    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, android.app.FragmentTransaction ft) {

    }
}
答案

使用Design Support Library>标签

在styles.xml中为Tablayout添加样式

<style name="TabTextAppearance" parent="TextAppearance.Design.Tab">
    <item name="textAllCaps">false</item>
</style>

然后将该属性添加为:

<android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        app:tabTextAppearance="@style/TabTextAppearance"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

我测试了它。它会工作的。

谢谢

另一答案

你有两个选择

1-您可以动态设置 - 如果您不确定文本是否为小写,则必须使用string.toLowerCase()将其转换为小写;并且您必须设置TextView的行为

textView.setText(yourString.toLowerCase());
textView.setAllCaps(false);

2-您可以设置xml本身的行为

   <TextView
    ....
    ....
    android:allCaps = "false"
    />
另一答案

您可以尝试以下任何一种方法,但是您已经尝试了我在下面提到的第一个,您可以尝试另一个

  • 在layout-v21中使用android:textAllCaps =“false”
  • 检查你的风格Allcaps <style name="Theme.CustomTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:textAppearanceButton">@style/CustomTheme.ButtonTextAppearance</item> </style> <style name="CustomTheme.ButtonTextAppearance" parent="@style/Base.TextAppearance.AppCompat.Button"> <item name="textAllCaps">false</item> <item name="android:textAllCaps">false</item> </style>
另一答案

试试这个代码。希望你的问题解决

 TextView tv =  (TextView) mTabHost.getTabWidget().getChildAt(index).findViewById(android.R.id.title); 
   tv.setAllCaps(false);  
另一答案

不可思议的是,您在strings.xml中以小写形式编写文本。或者使用string.toLowerCase()将其转换为小写,如上面提到的droidev

以上是关于如何在android中以小写显示文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中以编程方式在片段之间导航?

将代码片段插入数据库并在 textarea 中以相同方式显示

如何在android中以编程方式查找TextView的文本区域(高度/宽度)

为什么webview头键在android中以小写形式转换?

如何在android中以表格格式显示数据?

在 Android 的 Textview 中以编程方式居中文本