小编RDX*_*RDX的帖子

适用于Android中的ImageButton中的图像

我的活动中有6个ImageButton,我通过我的代码设置图像(不使用xml).

我希望它们覆盖75%的按钮区域.但是,由于某些图像覆盖的区域较少,因此有些图像太大而无法适应图像按钮.如何以编程方式调整大小并显示它们?以下是截图

在此输入图像描述 下面是xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_marginBottom="5sp"
        android:layout_marginLeft="2sp"
        android:layout_marginRight="5sp"
        android:layout_marginTop="0sp"     >
   <LinearLayout
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal">
        <ImageButton          

            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_topleft"
        android:layout_marginBottom="5sp"
        android:layout_marginLeft="2sp"
        android:layout_marginRight="5sp"
        android:layout_marginTop="0sp"
            />
        <ImageButton
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_topright"
    android:layout_marginBottom="5sp"
        android:layout_marginLeft="2sp"
        android:layout_marginRight="5sp"
        android:layout_marginTop="0sp"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal">

        <ImageButton
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_repeat"
    android:layout_marginBottom="5sp"
        android:layout_marginLeft="2sp"
        android:layout_marginRight="5sp"
        android:layout_marginTop="0sp"     
             />

              <ImageButton
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_next"
    android:layout_marginBottom="5sp"
        android:layout_marginLeft="2sp"
        android:layout_marginRight="5sp"
        android:layout_marginTop="0sp"     
             />

    </LinearLayout>    
   <LinearLayout
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal">

        <ImageButton
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_bottomleft"
    android:layout_marginBottom="5sp"
        android:layout_marginLeft="2sp" …
Run Code Online (Sandbox Code Playgroud)

android image scale imagebutton android-linearlayout

134
推荐指数
5
解决办法
22万
查看次数

TCP环回连接与Unix域套接字性能

在基于Android和iOS的应用程序上工作,该应用程序需要与在同一设备中运行的服务器进行通信.目前使用TCP环回连接与App和Server通信(用户层编写的应用程序,使用Android NDK用C++编写的服务器)

我想知道是否用Unix Domain socket替换内部通信会改善性能吗?

或者一般来说是否有任何证据/理论证明Unix Domain套接字会提供比TCP环回连接更好的性能?

unix sockets tcp loopback unix-socket

97
推荐指数
5
解决办法
6万
查看次数

官方"Boost库"支持Android和iOS?

这个问题是继续我应该在Android中选择Boost Asio或Aysnc Socket线程吗?问:

Boost库旨在广泛使用,并可在各种应用程序中使用,但Android和iOS尚无官方支持

  1. 是否有任何特定原因,例如未针对嵌入式设备进行优化?还是其他任何原因?
  2. 有没有人知道在Android或iOS上使用Boost构建的任何应用程序?
  3. 是否建议将升级库用于网络密集型应用程序,从而产生多线程进行通信?

仅供参考.我一直在使用以下链接创建示例Android应用程序,但尚未成功:(

https://github.com/MysticTreeGames/Boost-for-Android

http://www.codexperiments.com/android/2011/05/tips-tricks-building-boost-with-ndk-r5/

在android中包含Boost C++库

如何将boost库(包括shared_ptr)与Android NDK和STLport一起使用

https://sites.google.com/site/fourdollars/android/android-mk

https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/4lxhsKFe7Ho

http://www.crystax.net/trac/ndk/ticket/6

Android NDK R5和支持C++异常

提前致谢.

android boost boost-asio android-ndk ios

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

AF over AF_UNIX:与unix套接字的HTTP连接

我们有HTTP服务器,我们有基于HTTP客户端的应用程序(在Linux上)正常工作.

但是现在我们需要从客户端应用程序中侦听Unix域套接字.那么是否可以从unix域套接字发送/接收httprequest,httpresponse包?

Scenerio1:连接到localhost时,需要通过将HTTP连接到unix套接字而不是HTTPS连接到本地端口来消除SSL开销.

基本上寻找在HTTP URL中编码unix套接字路径的标准.

提前谢谢了.

sockets webserver client-server http unix-socket

19
推荐指数
1
解决办法
9202
查看次数

C++运算符重载

为什么下面的C++程序输出"ACCA"?为什么operator int()叫两次?

#include "stdafx.h"
#include <iostream>

using namespace std;

class Base {
public:
    Base(int m_var=1):i(m_var){
        cout<<"A";
    }
    Base(Base& Base){
        cout<<"B";
        i=Base.i;
    }
    operator int() {
        cout<<"C";
        return i;
    }
private:
    int i;
};

int main()
{
    Base obj;
    obj = obj+obj;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ class operator-overloading

15
推荐指数
4
解决办法
874
查看次数

Android按钮将图像放在中间,将文本放在底部

我想将Image放在中心,并在一个按钮下面的文本下面,我试图设置android:gravity但是无法正确设置它,这是附加的图像:

在此输入图像描述

下面是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="10.0dip" 
    android:paddingTop="10.0dip" 
    android:paddingRight="10.0dip" 
    android:paddingBottom="10.0dip"    
    android:background="@drawable/background_img"
    >

    <LinearLayout
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:paddingLeft="10.0dip" 
        android:paddingTop="10.0dip" 
        android:paddingRight="10.0dip" 
        android:paddingBottom="10.0dip"          
        >

        <Button          
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_listen"
            android:text="@string/listen"
            android:drawableTop="@drawable/listen_btn"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"      
            android:layout_gravity="center"
            />
        <Button
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_gallery"
            android:text="@string/gallery"
            android:drawableTop="@drawable/gallery_btn"
            android:layout_marginLeft="10dp"    
            android:layout_marginRight="10dp"    
            android:layout_marginTop="10dp"    
            android:layout_marginBottom="10dp"   
            android:layout_gravity="center"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_height="0dp"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:paddingLeft="10.0dip" 
        android:paddingTop="10.0dip" 
        android:paddingRight="10.0dip" 
        android:paddingBottom="10.0dip"              
        >

        <Button
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/button_play"
            android:text="@string/play"                
            android:drawableTop="@drawable/play_btn"
            android:layout_marginLeft="10dp"
            android:layout_gravity="center"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            />
        <Button
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1" …
Run Code Online (Sandbox Code Playgroud)

android text image center button

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

Android Bitmap.createScaledBitmap主要在Jelly Bean 4.1上抛出java.lang.OutOfMemoryError

我的应用程序的主要目的是以图像中所示的以下方式显示图像

在此输入图像描述

private void setSelectedImage(int selectedImagePosition) 
{

    BitmapDrawable bd = (BitmapDrawable) drawables.get(selectedImagePosition);
    Bitmap b = Bitmap.createScaledBitmap(bd.getBitmap(), (int) (bd.getIntrinsicHeight() * 0.9), (int) (bd.getIntrinsicWidth() * 0.7), false);
    selectedImageView.setImageBitmap(b);
    selectedImageView.setScaleType(ScaleType.FIT_XY);

}
Run Code Online (Sandbox Code Playgroud)

详细代码可以在这里找到

在以下行引发异常

Bitmap b = Bitmap.createScaledBitmap(bd.getBitmap(), (int) (bd.getIntrinsicHeight() * 0.9), (int) (bd.getIntrinsicWidth() * 0.7), false);
Run Code Online (Sandbox Code Playgroud)

以上函数调用自onItemSelected.**该应用程序仍然在2.2和2.3上运行良好,但在4.1上立即抛出异常上面的代码工作正常,但抛出异常.我没有看到2.2和2.3中的任何崩溃,但它在4.1中立即崩溃了果冻豆中的内存管理是否有任何重大差异?**:

java.lang.OutOfMemoryError
AndroidRuntime(2616):   at android.graphics.Bitmap.nativeCreate(Native Method)
AndroidRuntime(2616):   at android.graphics.Bitmap.createBitmap(Bitmap.java:640)
AndroidRuntime(2616):   at android.graphics.Bitmap.createBitmap(Bitmap.java:586) 
AndroidRuntime(2616):   at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:466)
AndroidRuntime(2616):   at com.rdx.gallery.GalleryDemoActivity.setSelectedImage(GalleryDemoActivity.java:183)
Run Code Online (Sandbox Code Playgroud)

graphics android exception bitmap out-of-memory

11
推荐指数
3
解决办法
1万
查看次数

Android 4.1 - 使用VideoView和MediaController的RTSP

开发一个简单的应用程序以在Android 4.1上播放RTSP流,但无法这样做

更新

如果我使用BigBuckBunny_115k.mov,我能够玩

Uri video = Uri.parse("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov");
Run Code Online (Sandbox Code Playgroud)

但我试过这里这里提到的很多RTSP流,但都没有工作:(

****问题:我在手机上看不到任何信息流,只能看到黑屏.过了一段时间,会出现一个对话框"无法播放此视频".我尝试了很多RTSP流,但结果相同,所以提到的所有流都有问题吗?或.sdp没有正确解析?代码段中缺少哪些内容?****

public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        VideoView videoView = (VideoView) findViewById(R.id.video);
        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        mediaController.setMediaPlayer(videoView);

        Uri video = Uri.parse("rtsp://ss1c6.idc.mundu.tv:554/prf0/cid_29.sdp");
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);
        videoView.start();
    }
Run Code Online (Sandbox Code Playgroud)

<VideoView
    android:id="@+id/video"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" />
Run Code Online (Sandbox Code Playgroud)

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>

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

            <category android:name="android.intent.category.LAUNCHER" …
Run Code Online (Sandbox Code Playgroud)

android rtp rtsp mediacontroller android-videoview

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

哪个更安全:外部浏览器或ChromeTab授权?

我正在开发针对Android和iOS智能手机的基于cordova的混合移动应用程序.

更新: Google不再支持嵌入式网页浏览方式

用例:应用程序对用户进行身份验证,然后访问Google Calendar API,最后在应用上显示用户事件.

注意:我将使用没有客户端库的3脚OAuth和Google Data API.

问题 要向Google调用OAuth请求,我应该使用外部浏览器还是ChromeTabs?

从安全角度来看哪种方法最合适?谢谢!

android webview ios oauth-2.0 cordova

11
推荐指数
1
解决办法
320
查看次数

Android NDK中与Unix域的LocalSocket通信

我有Android应用程序,需要与我们的C++库建立unix域套接字连接(使用Android NDK)

public static String SOCKET_ADDRESS = "your.local.socket.address"; // STRING
Run Code Online (Sandbox Code Playgroud)

java中有LocalSocket接受"string"(your.local.socket.address)

#define ADDRESS     "/tmp/unix.str" /* ABSOLUTE PATH */
  struct sockaddr_un saun, fsaun;
    if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
        perror("server: socket");
        exit(1);
    }
    saun.sun_family = AF_UNIX;
    strcpy(saun.sun_path, ADDRESS);
Run Code Online (Sandbox Code Playgroud)

但是在本机层的unix域套接字接受"绝对路径".那么这两方如何相互沟通呢?

如果可能,请分享任何示例

sockets android network-programming unix-socket android-ndk

9
推荐指数
1
解决办法
9686
查看次数