I create a ProgressDialog from java code:
mProgressDialog = ProgressDialog.show(this, ..., ... , true);
I want to change the message text s
You can also use: ContextThemeWrapper
For example:
ProgressDialog.show(new ContextThemeWrapper(this, R.style.DialogCustom), "Loading", "Wait please");
<style name="DialogCustom">
<item name="android:textSize">18sp</item>
</style>
try like this
private void showProgressDialog() {
progressDialog = new ProgressDialog(this,R.style.CustomDialog);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setMessage("Logging in. Please wait.");
progressDialog.show();
}
use custome layout
You can use a spannable string and set the color and size for the spannable string. Use the spannable string to set text color and size.
Note: Make sure the font size is not too large to fit in the screen
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="35dp"
android:layout_marginLeft="56dp"
android:text="Button" />
</RelativeLayout>
MainActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b= (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String s= "Hello";
String title="MyTitle";
SpannableString ss1= new SpannableString(title);
ss1.setSpan(new RelativeSizeSpan(2f), 0, ss1.length(), 0);
ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, ss1.length(), 0);
SpannableString ss2= new SpannableString(s);
ss2.setSpan(new RelativeSizeSpan(2f), 0, ss2.length(), 0);
ss2.setSpan(new ForegroundColorSpan(Color.GREEN), 0, ss2.length(), 0);
ProgressDialog pd = new ProgressDialog(MainActivity.this);
pd.setTitle(ss1);
pd.setMessage(ss2);
pd.show();
}
});
}
}
OR
You can change the color of the the text by using a custom style
styles.xml
<style name="NewDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTitleStyle">@null</item>
<item name="android:colorBackground">#ffffff</item>// change background color
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:width">600dip</item>
<item name="android:height">100dip</item>
<item name="android:textColor">#0FECFF</item>// change color
</style>
In your activity
ProgressDialog pd = new ProgressDialog(this,R.style.NewDialog);