小编Shr*_*uti的帖子

如何在Android中自定义Spinner

我想在a的下拉列表中添加一个自定义高度Spinner,比如30dp,我想隐藏下拉列表中的分隔符Spinner.

到目前为止,我尝试实现以下样式Spinner:

<style name="spinner_style">
        <item name="android:paddingLeft">0dp</item>
        <item name="android:dropDownWidth">533dp</item>
        <item name="android:showDividers">none</item>
        <item name="android:dividerHeight">0dp</item>
        <item name="android:popupBackground">@drawable/new_bg</item>
        <item name="android:dropDownHeight">70dp</item>
        <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item>
        <item name="android:dropDownSelector">@android:color/white</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

我的微调器的代码是:

<Spinner
            android:id="@+id/pioedittxt5"
            android:layout_width="543dp"
            android:layout_height="63dp"
            android:layout_toRightOf="@+id/piotxt5"
            android:background="@drawable/spinner"
            style="@style/spinner_style"
            android:dropDownVerticalOffset="-53dp"
            android:spinnerMode="dropdown"
            android:drawSelectorOnTop="true"
            android:entries="@array/travelreasons"
            android:prompt="@string/prompt" />
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何效果.

android android-layout android-spinner

134
推荐指数
4
解决办法
36万
查看次数

Android以编程方式包含布局(即没有XML)

所以我创建了一个名为CustomTitlebarActivity的Activity子类.基本上,我的应用程序中的每个主要活动都将有一个自定义标题栏,其中包含许多常用功能,如主页按钮,标题,搜索按钮等.在我当前的实现中,我仍然在布局XML中明确使用include语句每个CustomTitlebarActivity:

<include layout="@layout/titlebar" />
Run Code Online (Sandbox Code Playgroud)

我应该能够在CustomTitlebarActivity中执行此操作,这似乎很自然.我有两个问题:什么代码可以替换此包含标记,我应该在哪里放置代码?(我的第一直觉是将它放在CustomTitlebarActivity的setContentView方法中.)

在相关的说明中,我希望能够深入了解重用Android UI代码的更好方法(即使本身标题栏需要在活动之间略有不同.)

java android include

35
推荐指数
2
解决办法
5万
查看次数

禁用活动之间的过渡动​​画

我从活动A调用活动B,其中包含使用以下代码的视频视图:

Intent intent = new Intent(this, B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivityForResult(intent, 0);
Run Code Online (Sandbox Code Playgroud)

我正在使用Intent.FLAG_ACTIVITY_NO_ANIMATION以避免在调用新活动时转换动画.但它不适合我和黑屏在转型期间即将到来.有没有办法避免这种过渡动画和黑屏,以便用户不会知道在新屏幕中调用视频视图?

java android android-intent

27
推荐指数
2
解决办法
4万
查看次数

Android - dismissDialog不会忽略该对话框

我正在使用showDialog()dismissDialog()在我的应用程序中显示进度对话框.从创建对话框并调用show()它到使用它以便在更改方向时保存状态.

但是当我从纵向 - >横向 - >纵向更改方向时,dismissDialog()不再取消对话框.对话框一直停留在那里,我需要按后退按钮才能消失.

有什么理由说它会这样吗?

编辑

为了解决这个问题,我尝试添加一个removeDialog()in,onDestroy()这样就不会创建/显示对话框两次,在更改方向之前,会删除该对话框.尝试添加日志语句,看看会发生什么

05-21 12:35:14.064: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:14.064: DEBUG/MyClass(193): *************onCreareDialog

05-21 12:35:15.385: DEBUG/MyClass(193): *************onSaveInstanceState
05-21 12:35:15.415: DEBUG/MyClass(193): *************onDestroy

05-21 12:35:15.585: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:15.585: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:15.715: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:17.214: DEBUG/MyClass(193): *************onSaveInstanceState
05-21 12:35:17.214: DEBUG/MyClass(193): *************onDestroy

05-21 12:35:17.275: ERROR/WindowManager(193): android.view.WindowLeaked: Activity com.android.MyClass has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@43362088 that was originally added here

05-21 12:35:17.395: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:17.395: DEBUG/MyClass(193): *************onCreareDialog …
Run Code Online (Sandbox Code Playgroud)

android

22
推荐指数
4
解决办法
3万
查看次数

显示对话框以在工作区启动时选择它

我知道这是一个愚蠢的问题,但是我坚持了2个小时.可以告诉我如何启用在我们开始日食时打开的对话框并从那里选择工作区位置.

请参阅我希望在eclipse启动时首先显示此窗口

在此输入图像描述

我错误地检查了"将此作为默认设置,不要再问".

请指导我如何再次显示此对话框

eclipse workspace

22
推荐指数
2
解决办法
1万
查看次数

在android中包裹Bezier曲线之外的文本

我想在android中的曲线外面包围bezier曲线形状的文本.

我尝试过的:

Path path = new Path();
path.addCircle(x, y, radius, Path.Direction.CW);
myCanvas.drawTextOnPath(myText, path, offset, 0, myPaint);
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标:

但是这段代码在曲线上绘制文本.我不想在曲线上写文本.我想根据曲线包装文本并将其写在下一行.

要清楚地理解它,请参考baconforme.com ..我想在不使用webbrowser的情况下在android中创建这种jquery行为.

并看到这个链接在Android上如何在贝塞尔路径中包装文本

问题:

  1. 是否有可能实现这一目标?
  2. 如果是,那么请指导我.

android bezier text android-layout

16
推荐指数
1
解决办法
897
查看次数

在Android应用程序中获取联系人

我正在关注这些链接以获取我的应用程序中的联系人

如何调用Android联系人列表?

http://www.higherpass.com/Android/Tutorials/Working-With-Android-Contacts/

我可以在手机上显示联系人列表

-

  1. 我想在每个联系人处添加一个复选框,以便用户可以选择多个联系人,通过单击完成按钮,他应该能够获得他选择的所有联系人

  2. 另外,我想获取联系人姓名以及联系电话号码,请参阅我的代码:

    if (resultCode == Activity.RESULT_OK) {
                    Uri contactData = data.getData();
                    Cursor c = managedQuery(contactData, null, null, null, null);
                    if (c.moveToFirst()) {
                        String name = c.getString(c
                                .getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
                        String number = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.HAS_PHONE_NUMBER));
                        Log.v("name", name +" "+number);
                        // TODO Whatever you want to do with the selected contact
                        // name.
                    }
                }

在log cat上它显示输出为:

01-09 12:46:41.688: V/name(699): Xyz 1
Run Code Online (Sandbox Code Playgroud)

这是联系人的名字是xyz,它至少有一个与之关联的电话号码.请帮助我如何获得与该联系人相关的号码.

编辑:

如果我String number = c.getString(c.getColumnIndexOrThrow(People.NUMBER));在代码中使用this()行,我会得到以下异常:

01-09 13:33:23.008: E/AndroidRuntime(786): FATAL EXCEPTION: main
01-09 13:33:23.008: E/AndroidRuntime(786): java.lang.RuntimeException: …
Run Code Online (Sandbox Code Playgroud)

android android-contacts

15
推荐指数
1
解决办法
2万
查看次数

无法在Android中使用SMSManager发送短信

在我的应用程序希望使用默认的邮件发件人.为此,我按照以下链接在Android中是否可以在代码中向多个收件人发送短信?

  • 而且该代码也有效.但是,我从此代码发送的邮件未保存在手机发件箱和收件箱中.
  • 我在我的代码中使用这样的短信管理器

    SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber,null,message,null,null);

但它不发送sms.please帮助我如何在android中发送短信 - 我已经尝试过太多PendingIntent sentPI = PendingIntent.getBroadcast(这,0,新意图(SENT),0);

PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
Run Code Online (Sandbox Code Playgroud)

它也不起作用.
SMSAPPActivity.java

编辑:

btnSendSMS.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String message = txtMessage.getText().toString();
                String[] PhnNoArray = new String[2];
                PhnNoArray[0] = "9999999999";
                PhnNoArray[1] = "8888888888";
                // StringTokenizer st = new StringTokenizer(phoneNo, ",");
                smsManager = SmsManager.getDefault();
                for (int i = 0; i < PhnNoArray.length; i++) { …
Run Code Online (Sandbox Code Playgroud)

sms android sendmessage

14
推荐指数
2
解决办法
2万
查看次数

从Android应用程序流式传输音频到任何可用的扬声器,如A2DP,汽车扬声器等

从我的Android应用程序,我想将音频流式传输到A2DP扬声器,docking扬声器或car扬声器等任何可用的扬声器.

为此,我想使用蓝牙连接并通过蓝牙连接流...

我看到以下链接

关于android如何从a2dp重新路由音频

setBluetoothA2dpOn(boolean on)

Android 2.3:如何从SCO切换到A2DP以获得功能强大的蓝牙扬声器?

但到处都是我发现的相同..即

public void setBluetoothA2dpOn (boolean on)

This method is deprecated.
Do not use. 
Run Code Online (Sandbox Code Playgroud)

请指导我如何做到这一点..或建议是否可以使用其他方式完成..任何帮助/建议表示赞赏.

编辑:

清单中的许可:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Run Code Online (Sandbox Code Playgroud)

代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    layout = (RelativeLayout) findViewById(R.id.layout);
    text = (TextView) findViewById(R.id.editText1);
    scoSwitch = (ToggleButton) findViewById(R.id.switch1);
    try {
        mp1 = MediaPlayer.create(this, R.raw.jc_cm);
        mp2 = MediaPlayer.create(this, R.raw.rp);
        amanager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        //amanager.setBluetoothA2dpOn(true);
                } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block …
Run Code Online (Sandbox Code Playgroud)

android docking audio-streaming bluetooth-sco

13
推荐指数
1
解决办法
7509
查看次数

SharedPreferences Android中的NullPointerException

我第一次使用sharedPreferences,我似乎无法通过此错误.我有一个子菜单,应该允许用户设置他们的区域.这应该打开正确的区域活动,并在再次打开应用程序时进行存储和调用.我已经多次转圈,所以有些代码会有点奇怪.我一直专注于从美国(默认)改为英国.

在DDMS中,我得到了这个:

05-13 11:22:39.344: ERROR/AndroidRuntime(960): java.lang.NullPointerException
05-13 11:22:39.344: ERROR/AndroidRuntime(960):     at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:146)
05-13 11:22:39.344: ERROR/AndroidRuntime(960):     at com.silifeform.android.Prefs.editRegion(Prefs.java:29)
05-13 11:22:39.344: ERROR/AndroidRuntime(960):     at com.silifeform.android.dog.onOptionsItemSelected(dog.java:344)
Run Code Online (Sandbox Code Playgroud)

我的代码是这样的:

public class Prefs extends Activity {
public static final String PREFS_NAME="LocalePrefs";
private String region;
public boolean isUk;
public boolean isUs;
public boolean isEu;

@Override
protected void onCreate(Bundle state) {
    super.onCreate(state);

    //restore prefs
    SharedPreferences settings= getSharedPreferences(PREFS_NAME,0);
    String myRegion = settings.getString(region,"us");

    this.region=myRegion;
    changeLocale(getRegion());
}

public void editRegion(String sregion) {
// The error occurs here:
    SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
    SharedPreferences.Editor ed …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception sharedpreferences

12
推荐指数
2
解决办法
3万
查看次数